Loading src/or/config.c +2 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,7 @@ static void config_assign(or_options_t *options, struct config_line *list) { config_compare(list, "LogLevel", CONFIG_TYPE_STRING, &options->LogLevel) || config_compare(list, "DataDirectory", CONFIG_TYPE_STRING, &options->DataDirectory) || config_compare(list, "RouterFile", CONFIG_TYPE_STRING, &options->RouterFile) || config_compare(list, "PidFile", CONFIG_TYPE_STRING, &options->PidFile) || config_compare(list, "Nickname", CONFIG_TYPE_STRING, &options->Nickname) || config_compare(list, "Address", CONFIG_TYPE_STRING, &options->Address) || config_compare(list, "ExitPolicy", CONFIG_TYPE_STRING, &options->ExitPolicy) || Loading Loading @@ -201,6 +202,7 @@ int getconfig(int argc, char **argv, or_options_t *options) { options->LogLevel = "info"; options->ExitPolicy = "reject 127.0.0.1:*,reject 18.244.0.188:25,accept *:*"; options->loglevel = LOG_DEBUG; options->PidFile = "tor.pid"; options->DataDirectory = NULL; options->CoinWeight = 0.1; options->MaxConn = 900; Loading src/or/main.c +18 −0 Original line number Diff line number Diff line Loading @@ -637,6 +637,9 @@ static void catch(int the_signal) { case SIGTERM: case SIGINT: 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); exit(0); case SIGHUP: please_reset = 1; Loading Loading @@ -724,6 +727,18 @@ void daemonize(void) { #endif } void write_pidfile(char *filename) { FILE *pidfile; if ((pidfile = fopen(filename, "w")) == NULL) { log_fn(LOG_WARNING, "unable to open %s for writing: %s", filename, strerror(errno)); } else { fprintf(pidfile, "%d", getpid()); fclose(pidfile); } } int tor_main(int argc, char *argv[]) { if(getconfig(argc,argv,&options)) { Loading @@ -734,6 +749,9 @@ int tor_main(int argc, char *argv[]) { global_read_bucket = options.TotalBandwidth; /* start it at 1 second of traffic */ stats_prev_global_read_bucket = global_read_bucket; /* write our pid to the pid file */ write_pidfile(options.PidFile); if(options.Daemon) daemonize(); Loading src/or/or.h +1 −0 Original line number Diff line number Diff line Loading @@ -421,6 +421,7 @@ typedef struct { char *RouterFile; char *Nickname; char *Address; char *PidFile; char *ExitPolicy; double CoinWeight; int Daemon; Loading Loading
src/or/config.c +2 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,7 @@ static void config_assign(or_options_t *options, struct config_line *list) { config_compare(list, "LogLevel", CONFIG_TYPE_STRING, &options->LogLevel) || config_compare(list, "DataDirectory", CONFIG_TYPE_STRING, &options->DataDirectory) || config_compare(list, "RouterFile", CONFIG_TYPE_STRING, &options->RouterFile) || config_compare(list, "PidFile", CONFIG_TYPE_STRING, &options->PidFile) || config_compare(list, "Nickname", CONFIG_TYPE_STRING, &options->Nickname) || config_compare(list, "Address", CONFIG_TYPE_STRING, &options->Address) || config_compare(list, "ExitPolicy", CONFIG_TYPE_STRING, &options->ExitPolicy) || Loading Loading @@ -201,6 +202,7 @@ int getconfig(int argc, char **argv, or_options_t *options) { options->LogLevel = "info"; options->ExitPolicy = "reject 127.0.0.1:*,reject 18.244.0.188:25,accept *:*"; options->loglevel = LOG_DEBUG; options->PidFile = "tor.pid"; options->DataDirectory = NULL; options->CoinWeight = 0.1; options->MaxConn = 900; Loading
src/or/main.c +18 −0 Original line number Diff line number Diff line Loading @@ -637,6 +637,9 @@ static void catch(int the_signal) { case SIGTERM: case SIGINT: 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); exit(0); case SIGHUP: please_reset = 1; Loading Loading @@ -724,6 +727,18 @@ void daemonize(void) { #endif } void write_pidfile(char *filename) { FILE *pidfile; if ((pidfile = fopen(filename, "w")) == NULL) { log_fn(LOG_WARNING, "unable to open %s for writing: %s", filename, strerror(errno)); } else { fprintf(pidfile, "%d", getpid()); fclose(pidfile); } } int tor_main(int argc, char *argv[]) { if(getconfig(argc,argv,&options)) { Loading @@ -734,6 +749,9 @@ int tor_main(int argc, char *argv[]) { global_read_bucket = options.TotalBandwidth; /* start it at 1 second of traffic */ stats_prev_global_read_bucket = global_read_bucket; /* write our pid to the pid file */ write_pidfile(options.PidFile); if(options.Daemon) daemonize(); Loading
src/or/or.h +1 −0 Original line number Diff line number Diff line Loading @@ -421,6 +421,7 @@ typedef struct { char *RouterFile; char *Nickname; char *Address; char *PidFile; char *ExitPolicy; double CoinWeight; int Daemon; Loading