From 125b351970d52269553aeb460b418f668a63d6ce Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Sat, 12 Jun 2004 19:45:46 +0000 Subject: Break tor_main into startup/loop/shutdown portions, to make NT service refactoring possible. svn:r1965 --- src/or/main.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/or/main.c b/src/or/main.c index 7b29f1188..ce7da3cd2 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -870,7 +870,7 @@ void exit_function(void) /** Main entry point for the Tor command-line client. */ -int tor_main(int argc, char *argv[]) { +int tor_init(int argc, char *argv[]) { /* give it somewhere to log to initially */ add_temp_log(); @@ -878,7 +878,7 @@ int tor_main(int argc, char *argv[]) { if (network_init()<0) { log_fn(LOG_ERR,"Error initializing network; exiting."); - return 1; + return -1; } atexit(exit_function); @@ -915,8 +915,18 @@ int tor_main(int argc, char *argv[]) { crypto_global_init(); crypto_seed_rng(); - do_main_loop(); + return 0; +} + +void tor_cleanup(void) { crypto_global_cleanup(); +} + +int tor_main(int argc, char *argv[]) { + if (tor_init(argc, argv)<0) + return -1; + do_main_loop(); + tor_cleanup(); return -1; } -- cgit v1.2.3