reconfig.c (xinetd-2.3.15) | : | reconfig.c (xinetd-2.3.15.4.tar.xz) | ||
---|---|---|---|---|
skipping to change at line 18 | skipping to change at line 18 | |||
#include "config.h" | #include "config.h" | |||
#include <sys/types.h> | #include <sys/types.h> | |||
#include <sys/socket.h> | #include <sys/socket.h> | |||
#include <syslog.h> | #include <syslog.h> | |||
#include <signal.h> | #include <signal.h> | |||
#include <memory.h> | #include <memory.h> | |||
#include <stdlib.h> | #include <stdlib.h> | |||
#include <unistd.h> | #include <unistd.h> | |||
#include <netinet/in.h> | #include <netinet/in.h> | |||
#ifndef NO_RPC | #ifndef NO_RPC | |||
#ifdef HAVE_RPC_PMAP_CLNT_H | ||||
#ifdef __sun | #ifdef __sun | |||
#include <rpc/types.h> | #include <rpc/types.h> | |||
#include <rpc/auth.h> | #include <rpc/auth.h> | |||
#endif | #endif | |||
#include <rpc/types.h> | #include <rpc/types.h> | |||
#include <rpc/xdr.h> | #include <rpc/xdr.h> | |||
#include <rpc/auth.h> | #include <rpc/auth.h> | |||
#include <rpc/clnt.h> | #include <rpc/clnt.h> | |||
#include <rpc/pmap_clnt.h> | #include <rpc/pmap_clnt.h> | |||
#endif | ||||
#include <rpc/rpc.h> | #include <rpc/rpc.h> | |||
#endif | #endif | |||
#include "reconfig.h" | #include "reconfig.h" | |||
#include "msg.h" | #include "msg.h" | |||
#include "sconf.h" | #include "sconf.h" | |||
#include "conf.h" | #include "conf.h" | |||
#include "confparse.h" | #include "confparse.h" | |||
#include "state.h" | #include "state.h" | |||
#include "main.h" | #include "main.h" | |||
skipping to change at line 137 | skipping to change at line 135 | |||
if ( drop_service == YES ) | if ( drop_service == YES ) | |||
{ | { | |||
/* | /* | |||
* Procedure for disabling a service: | * Procedure for disabling a service: | |||
* | * | |||
* a. Deactivate the service to prevent new connections | * a. Deactivate the service to prevent new connections | |||
* b. Terminate running servers and cancel retry attempts, in case | * b. Terminate running servers and cancel retry attempts, in case | |||
* of reconfiguration | * of reconfiguration | |||
*/ | */ | |||
svc_deactivate( osp ) ; | ||||
terminate_servers( osp ) ; | terminate_servers( osp ) ; | |||
svc_deactivate( osp ) ; | ||||
cancel_service_retries( osp ) ; | cancel_service_retries( osp ) ; | |||
/* | /* | |||
* Deactivate the service; the service will be deleted only | * Deactivate the service; the service will be deleted only | |||
* if its reference count drops to 0. | * if its reference count drops to 0. | |||
*/ | */ | |||
/* Always remove the service, even if not all the children | /* Always remove the service, even if not all the children | |||
* have been killed, or there are other references. | * have been killed, or there are other references. | |||
*/ | */ | |||
psi_remove( iter ) ; | psi_remove( iter ) ; | |||
msg( LOG_NOTICE, func, "service %s deactivated", sid ) ; | msg( LOG_NOTICE, func, "service %s deactivated", sid ) ; | |||
if ( SVC_RELE( osp ) == 0 ) { | /* | |||
* If the refcount is > 0 release also all the members | ||||
*/ | ||||
if ( SVC_RELE( osp ) > 0 ) { | ||||
svc_release( osp ); | svc_release( osp ); | |||
} else | } | |||
msg( LOG_ERR, func, "Errors deactivating service %s", sid ) ; | ||||
dropped_services++ ; | dropped_services++ ; | |||
} | } | |||
} | } | |||
psi_destroy( iter ) ; | psi_destroy( iter ) ; | |||
/* | /* | |||
* All services have terminated by now, so close the old common logfile. | * All services have terminated by now, so close the old common logfile. | |||
* remember that swap_defaults put the old defaults section in new_conf. | * remember that swap_defaults put the old defaults section in new_conf. | |||
*/ | */ | |||
End of changes. 6 change blocks. | ||||
6 lines changed or deleted | 6 lines changed or added |