Don't attempt to log messages to a controller from a worker thread.

This patch adds a function to determine whether we're in the main
thread, and changes control_event_logmsg() to return immediately if
we're in a subthread.  This is necessary because otherwise we will
call connection_write_to_buf, which modifies non-locked data
structures.

Bugfix on 0.2.0.x; fix for at least one of the things currently
called "bug 977".
This commit is contained in:
Nick Mathewson
2009-05-29 10:18:50 -04:00
parent d66c379765
commit fd992deeea
5 changed files with 32 additions and 0 deletions
+3
View File
@@ -5,6 +5,9 @@ Changes in version 0.2.1.16-?? - 2009-??-??
- Don't warn users about low port and hibernation mix when they
provide a *ListenAddress directive to fix that. Bugfix on
0.2.1.15-rc.
- Fix a race condition that could cause crashes or memory
corruption when running as a server with a controller listening
for log messages.
o Minor bugfixes (on 0.2.1.x):
- When switching back and forth between bridge mode, do not start