if (master_getopt(master_service) > 0)
return FATAL_DEFAULT;
- master_service_set_die_with_master(master_service, TRUE);
master_service_init_log(master_service, "anvil: ");
master_service_init_finish(master_service);
connect_limit = connect_limit_init();
dup2_append(&dups, service->login_notify_fd,
MASTER_LOGIN_NOTIFY_FD);
}
- dup2_append(&dups, service_anvil_global->blocking_fd[1],
- MASTER_ANVIL_FD);
+ switch (service->type) {
+ case SERVICE_TYPE_LOG:
+ case SERVICE_TYPE_ANVIL:
+ case SERVICE_TYPE_CONFIG:
+ dup2_append(&dups, null_fd, MASTER_ANVIL_FD);
+ break;
+ case SERVICE_TYPE_UNKNOWN:
+ case SERVICE_TYPE_LOGIN:
+ dup2_append(&dups, service_anvil_global->blocking_fd[1],
+ MASTER_ANVIL_FD);
+ break;
+ }
dup2_append(&dups, service->status_fd[1], MASTER_STATUS_FD);
if (service->type != SERVICE_TYPE_LOG) {