Blame SOURCES/xinetd-2.3.14-tcpmux.patch

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