Blame SOURCES/xinetd-2.3.14-tcpmux.patch

76ef8a
--- xinetd-2.3.14/xinetd/service.c.tcpmux	2010-01-21 09:50:05.000000000 +0100
76ef8a
+++ xinetd-2.3.14/xinetd/service.c	2010-01-21 10:21:14.000000000 +0100
76ef8a
@@ -952,7 +952,12 @@ void close_all_svc_descriptors(void)
76ef8a
         out_of_memory( "close_all_svc_descriptors" ) ;
76ef8a
 
76ef8a
    for ( osp = SP( psi_start( iter ) ) ; osp ; osp = SP( psi_next( iter ) ) )
76ef8a
-        (void) Sclose( SVC_FD( osp ) ) ;
76ef8a
+   {
76ef8a
+#ifdef HAVE_POLL
76ef8a
+        if ( osp && SVC_POLLFD( osp ) )
76ef8a
+#endif
76ef8a
+            (void) Sclose( SVC_FD( osp ) ) ;
76ef8a
+   }
76ef8a
   
76ef8a
    psi_destroy( iter ) ;
76ef8a
 }