continue;
fdset_del_fd(&fdset, &polldata, &fdset_used, &fdset_size, config->fd);
}
- fd_set_listening_sockets();
}
/* ------------------ */
asp_kill(sig);
#endif /* ! NO_DDP */
- if (server_children)
- server_child_kill(server_children, CHILD_DSIFORK, sig);
switch( sig ) {
case SIGTERM :
LOG(log_note, logtype_afpd, "AFP Server shutting down on SIGTERM");
AFPConfig *config;
+
+ if (server_children)
+ server_child_kill(server_children, CHILD_DSIFORK, sig);
+
for (config = configs; config; config = config->next)
if (config->server_cleanup)
config->server_cleanup(config);
nologin++;
auth_unload();
LOG(log_info, logtype_afpd, "disallowing logins");
+
+ if (server_children)
+ server_child_kill(server_children, CHILD_DSIFORK, sig);
break;
case SIGHUP :
if (reloadconfig) {
nologin++;
auth_unload();
+ fd_reset_listening_sockets();
LOG(log_info, logtype_afpd, "re-reading configuration file");
for (config = configs; config; config = config->next)
LOG(log_error, logtype_afpd, "config re-read: no servers configured");
exit(EXITERR_CONF);
}
- fd_reset_listening_sockets();
+
+ fd_set_listening_sockets();
+
nologin = 0;
reloadconfig = 0;
errno = saveerrno;
+ continue;
}
if (ret == 0)