diff options
author | Alexander Færøy <ahf@torproject.org> | 2018-11-28 18:10:02 +0100 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2018-12-17 16:39:28 -0500 |
commit | bc6983afed24c0b83a49d2cef531dcc036245a04 (patch) | |
tree | 49d2b9410d5db0bd77567b88b338938133a1c070 /src/core | |
parent | f983a60a6c9ce70e1c674458e468b0d7dcd80c01 (diff) | |
download | tor-bc6983afed24c0b83a49d2cef531dcc036245a04.tar.gz tor-bc6983afed24c0b83a49d2cef531dcc036245a04.zip |
Use run_main_loop_until_done() for process_t tests.
This patch changes the slow process_t tests to use
run_main_loop_until_done() instead of do_main_loop() since
do_main_loop() initializes a lot of subsystem callbacks that we don't
need to run in our tests.
See: https://bugs.torproject.org/28179
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/mainloop/mainloop.c | 11 | ||||
-rw-r--r-- | src/core/mainloop/mainloop.h | 1 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/core/mainloop/mainloop.c b/src/core/mainloop/mainloop.c index aaaa5009cb..9e58448f33 100644 --- a/src/core/mainloop/mainloop.c +++ b/src/core/mainloop/mainloop.c @@ -200,7 +200,6 @@ static int can_complete_circuits = 0; #define LAZY_DESCRIPTOR_RETRY_INTERVAL (60) static int conn_close_if_marked(int i); -static int run_main_loop_until_done(void); static void connection_start_reading_from_linked_conn(connection_t *conn); static int connection_should_read_from_linked_conn(connection_t *conn); static void conn_read_callback(evutil_socket_t fd, short event, void *_conn); @@ -2847,10 +2846,6 @@ do_main_loop(void) } } #endif /* defined(HAVE_SYSTEMD_209) */ - - main_loop_should_exit = 0; - main_loop_exit_value = 0; - #ifdef ENABLE_RESTART_DEBUGGING { static int first_time = 1; @@ -2976,10 +2971,14 @@ run_main_loop_once(void) * * Shadow won't invoke this function, so don't fill it up with things. */ -static int +STATIC int run_main_loop_until_done(void) { int loop_result = 1; + + main_loop_should_exit = 0; + main_loop_exit_value = 0; + do { loop_result = run_main_loop_once(); } while (loop_result == 1); diff --git a/src/core/mainloop/mainloop.h b/src/core/mainloop/mainloop.h index 14e80ebb21..730234857d 100644 --- a/src/core/mainloop/mainloop.h +++ b/src/core/mainloop/mainloop.h @@ -100,6 +100,7 @@ extern struct token_bucket_rw_t global_bucket; extern struct token_bucket_rw_t global_relayed_bucket; #ifdef MAINLOOP_PRIVATE +STATIC int run_main_loop_until_done(void); STATIC void close_closeable_connections(void); STATIC void initialize_periodic_events(void); STATIC void teardown_periodic_events(void); |