rephist: Introduce a fraction and period for overload onionskin
[tor.git] / src / lib / evloop / evloop_sys.c
blob162f18fd20dfced028f93cc07e491a02323827d2
1 /* Copyright (c) 2001 Matej Pfajfar.
2 * Copyright (c) 2001-2004, Roger Dingledine.
3 * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4 * Copyright (c) 2007-2021, The Tor Project, Inc. */
5 /* See LICENSE for licensing information */
7 /**
8 * @file evloop_sys.c
9 * @brief Subsystem definition for the event loop module
10 **/
12 #include "orconfig.h"
13 #include "lib/subsys/subsys.h"
14 #include "lib/evloop/compat_libevent.h"
15 #include "lib/evloop/evloop_sys.h"
16 #include "lib/log/log.h"
18 static int
19 subsys_evloop_initialize(void)
21 if (tor_init_libevent_rng() < 0) {
22 log_warn(LD_NET, "Problem initializing libevent RNG.");
23 return -1;
25 return 0;
28 static void
29 subsys_evloop_postfork(void)
31 #ifdef TOR_UNIT_TESTS
32 tor_libevent_postfork();
33 #endif
36 static void
37 subsys_evloop_shutdown(void)
39 tor_libevent_free_all();
42 const struct subsys_fns_t sys_evloop = {
43 .name = "evloop",
44 SUBSYS_DECLARE_LOCATION(),
45 .supported = true,
46 .level = -20,
47 .initialize = subsys_evloop_initialize,
48 .shutdown = subsys_evloop_shutdown,
49 .postfork = subsys_evloop_postfork,