Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
David Goulet
Tor
Commits
fb541ffc
Unverified
Commit
fb541ffc
authored
Jan 16, 2020
by
teor
Browse files
Merge branch 'maint-0.4.0' into maint-0.4.1
parents
f5461a4b
026f068b
Changes
4
Hide whitespace changes
Inline
Side-by-side
changes/ticket32407
0 → 100644
View file @
fb541ffc
o Minor bugfixes (crash):
- When running Tor with an option like --verify-config or --dump-config
that does not start the event loop, avoid crashing if we try to exit
early because of an error. Fixes bug 32407; bugfix on 0.3.3.1-alpha.
src/core/mainloop/mainloop.c
View file @
fb541ffc
...
...
@@ -769,6 +769,10 @@ tor_shutdown_event_loop_and_exit(int exitcode)
main_loop_should_exit
=
1
;
main_loop_exit_value
=
exitcode
;
if
(
!
tor_libevent_is_initialized
())
{
return
;
/* No event loop to shut down. */
}
/* Die with an assertion failure in ten seconds, if for some reason we don't
* exit normally. */
/* XXXX We should consider this code if it's never used. */
...
...
src/lib/evloop/compat_libevent.c
View file @
fb541ffc
...
...
@@ -181,6 +181,16 @@ tor_libevent_initialize(tor_libevent_cfg *torcfg)
event_get_version
(),
tor_libevent_get_method
());
}
/**
* Return true iff the libevent module has been successfully initialized,
* and not subsequently shut down.
**/
bool
tor_libevent_is_initialized
(
void
)
{
return
the_event_base
!=
NULL
;
}
/** Return the current Libevent event base that we're set up to use. */
MOCK_IMPL
(
struct
event_base
*
,
tor_libevent_get_base
,
(
void
))
...
...
src/lib/evloop/compat_libevent.h
View file @
fb541ffc
...
...
@@ -13,6 +13,8 @@
#include "lib/testsupport/testsupport.h"
#include "lib/malloc/malloc.h"
#include <stdbool.h>
void
configure_libevent_logging
(
void
);
void
suppress_libevent_log_msg
(
const
char
*
msg
);
...
...
@@ -68,6 +70,7 @@ typedef struct tor_libevent_cfg {
}
tor_libevent_cfg
;
void
tor_libevent_initialize
(
tor_libevent_cfg
*
cfg
);
bool
tor_libevent_is_initialized
(
void
);
MOCK_DECL
(
struct
event_base
*
,
tor_libevent_get_base
,
(
void
));
const
char
*
tor_libevent_get_method
(
void
);
void
tor_check_libevent_header_compatibility
(
void
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment