"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xinetd/reconfig.c" between
xinetd-2.3.15.tar.gz and xinetd-2.3.15.4.tar.xz

About: xinetd is a secure replacement for inetd, the internet services daemon (openSUSE fork).

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

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)