--- 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 ) ;
}