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