diff --git a/main/asterisk.c b/main/asterisk.c index c5819613a5..c53e5ca2e6 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -3788,6 +3788,8 @@ int main(int argc, char *argv[]) #ifndef HAVE_SBIN_LAUNCHD if (daemon(1, 0) < 0) { fprintf(stderr, "daemon() failed: %s\n", strerror(errno)); + } else { + ast_mainpid = getpid(); } #else fprintf(stderr, "Mac OS X detected. Use 'launchctl load /Library/LaunchDaemon/org.asterisk.asterisk.plist'.\n"); @@ -3839,11 +3841,10 @@ int main(int argc, char *argv[]) } /* Blindly write the PID file. */ - ast_mainpid = getpid(); unlink(ast_config_AST_PID); f = fopen(ast_config_AST_PID, "w"); if (f) { - fprintf(f, "%ld\n", (long)getpid()); + fprintf(f, "%ld\n", (long)ast_mainpid); fclose(f); } else { fprintf(stderr, "Unable to open pid file '%s': %s\n", ast_config_AST_PID, strerror(errno));