-#ifdef WEXITSTATUS
- if(status != -1) {
- if(WIFEXITED(status)) { /* Child exited by itself */
- if(WEXITSTATUS(status)) {
- logger(DEBUG_ALWAYS, LOG_ERR, "Script %s exited with non-zero status %d",
- name, WEXITSTATUS(status));
- return false;
- }
- } else if(WIFSIGNALED(status)) { /* Child was killed by a signal */
- logger(DEBUG_ALWAYS, LOG_ERR, "Script %s was killed by signal %d (%s)",
- name, WTERMSIG(status), strsignal(WTERMSIG(status)));
- return false;
- } else { /* Something strange happened */
- logger(DEBUG_ALWAYS, LOG_ERR, "Script %s terminated abnormally", name);
- return false;
- }
+ if(use_logfile) {
+ logmode = LOGMODE_FILE;
+ } else if(use_syslog || do_detach) {
+ logmode = LOGMODE_SYSLOG;