commit 3e68db02c45ea06c3f20854df1f76894424d4357 Author: Nick Mathewson nickm@torproject.org Date: Thu Aug 3 09:07:28 2017 -0400
In ntmain, call set_main_thread() before running the loop.
Patch from Vort; fixes bug 23081; bugfix on fd992deeea76972 in 0.2.1.16-rc when set_main_thread() was introduced.
See the changes file for a list of all the symptoms this bug has been causing when running Tor as a Windows Service. --- changes/bug23081 | 8 ++++++++ src/or/ntmain.c | 1 + 2 files changed, 9 insertions(+)
diff --git a/changes/bug23081 b/changes/bug23081 new file mode 100644 index 000000000..76c4e3097 --- /dev/null +++ b/changes/bug23081 @@ -0,0 +1,8 @@ + o Minor bugfixes (Windows service): + - When running as a Windows service, set the ID of the main thread + correctly. Failure to do so made us fail to send log messages + to the controller in 0.2.1.16-rc, slowed down controller + event delivery in 0.2.7.3-rc and later, and crash with an assertion + failure in 0.3.1.1-alpha. Fixes bug 23081; bugfix on 0.2.1.6-alpha. + Patch and diagnosis from "Vort". + diff --git a/src/or/ntmain.c b/src/or/ntmain.c index e84831404..ddbe7a3e4 100644 --- a/src/or/ntmain.c +++ b/src/or/ntmain.c @@ -281,6 +281,7 @@ nt_service_body(int argc, char **argv) * event loop */ service_status.dwCurrentState = SERVICE_RUNNING; service_fns.SetServiceStatus_fn(hStatus, &service_status); + set_main_thread(); do_main_loop(); tor_cleanup(); }
tor-commits@lists.torproject.org