Report proper pid when forking

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@1634 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.0
Mark Spencer 22 years ago
parent f59f259586
commit 084ce330ff

@ -1351,18 +1351,15 @@ int main(int argc, char *argv[])
ast_log(LOG_WARNING, "Unable to open pid file '%s': %s\n", (char *)ast_config_AST_PID, strerror(errno)); ast_log(LOG_WARNING, "Unable to open pid file '%s': %s\n", (char *)ast_config_AST_PID, strerror(errno));
if (!option_verbose && !option_debug && !option_nofork && !option_console) { if (!option_verbose && !option_debug && !option_nofork && !option_console) {
#if 1
daemon(0,0); daemon(0,0);
#else /* Blindly re-write pid file since we are forking */
pid = fork(); unlink((char *)ast_config_AST_PID);
if (pid < 0) { f = fopen((char *)ast_config_AST_PID, "w");
ast_log(LOG_ERROR, "Unable to fork(): %s\n", strerror(errno)); if (f) {
printf(term_quit()); fprintf(f, "%d\n", getpid());
exit(1); fclose(f);
} } else
if (pid) ast_log(LOG_WARNING, "Unable to open pid file '%s': %s\n", (char *)ast_config_AST_PID, strerror(errno));
exit(0);
#endif
} }
ast_makesocket(); ast_makesocket();

Loading…
Cancel
Save