aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorAlexander Færøy <ahf@torproject.org>2018-11-28 18:10:02 +0100
committerNick Mathewson <nickm@torproject.org>2018-12-17 16:39:28 -0500
commitbc6983afed24c0b83a49d2cef531dcc036245a04 (patch)
tree49d2b9410d5db0bd77567b88b338938133a1c070 /src/core
parentf983a60a6c9ce70e1c674458e468b0d7dcd80c01 (diff)
downloadtor-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.c11
-rw-r--r--src/core/mainloop/mainloop.h1
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);