diff --git a/src/or/config.c b/src/or/config.c index 414bcf93b2..0c955f172a 100644 --- a/src/or/config.c +++ b/src/or/config.c @@ -259,7 +259,7 @@ void init_options(or_options_t *options) { options->DirBindAddress = tor_strdup("0.0.0.0"); options->RecommendedVersions = tor_strdup("none"); options->loglevel = LOG_INFO; - options->PidFile = tor_strdup("tor.pid"); + options->PidFile = NULL; // tor_strdup("tor.pid"); options->DataDirectory = NULL; options->PathlenCoinWeight = 0.3; options->MaxConn = 900; diff --git a/src/or/main.c b/src/or/main.c index a19079ddfd..52242653f4 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -628,8 +628,8 @@ static int init_from_config(int argc, char **argv) { } /* write our pid to the pid file, if we do not have write permissions we will log a warning */ - write_pidfile(options.PidFile); - /* XXX Is overwriting the pidfile ok? I think it is. -RD */ + if(options.PidFile) + write_pidfile(options.PidFile); return 0; } @@ -750,7 +750,8 @@ static void catch(int the_signal) { log(LOG_ERR,"Catching signal %d, exiting cleanly.", the_signal); /* we don't care if there was an error when we unlink, nothing we could do about it anyways */ - unlink(options.PidFile); + if(options.PidFile) + unlink(options.PidFile); exit(0); case SIGHUP: please_reset = 1;