+ pthread_sigmask(SIG_BLOCK, &sigs, NULL);
+ int saveerrno = errno;
+
+ if (reloadconfig) {
+ nologin++;
+ auth_unload();
+ AFPConfig *config;
+
+ LOG(log_info, logtype_afpd, "re-reading configuration file");
+ for (config = configs; config; config = config->next)
+ if (config->server_cleanup)
+ config->server_cleanup(config);
+
+ /* configfree close atp socket used for DDP tickle, there's an issue
+ * with atp tid. */
+ configfree(configs, NULL);
+ if (!(configs = configinit(&default_options))) {
+ LOG(log_error, logtype_afpd, "config re-read: no servers configured");
+ afp_exit(EXITERR_CONF);
+ }
+ set_fd(Ipc_fd);
+ nologin = 0;
+ reloadconfig = 0;
+ errno = saveerrno;
+ }
+