17 lines
544 B
Diff
17 lines
544 B
Diff
--- 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 ) ;
|
|
}
|