Loading ChangeLog +3 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ Changes in version 0.1.2.8-alpha - 2007-??-?? - When EntryNodes are configured, rebuild the guard list to contain, in order: the EntryNodes that were guards before; the rest of the EntryNodes; the nodes that were guards before. - Mask out all signals in sub-threads; only the libevent signal handler should be processing them. This should prevent some crashes on some machines using pthreads. (Patch from coderman.) o Minor features (controller): - Warn the user when an application uses the obsolete binary v0 Loading src/common/compat.c +9 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,9 @@ const char compat_c_id[] = #ifdef HAVE_PTHREAD_H #include <pthread.h> #endif #ifdef HAVE_SIGNAL_H #include <signal.h> #endif #ifdef HAVE_UTIME_H #include <utime.h> #endif Loading Loading @@ -996,6 +999,12 @@ tor_pthread_helper_fn(void *_data) tor_pthread_data_t *data = _data; void (*func)(void*); void *arg; /* mask signals to worker threads to avoid SIGPIPE, etc */ sigset_t sigs; /* We're in a subthread; don't handle any signals here. */ sigfillset(&sigs); pthread_sigmask(SIG_SETMASK, &sigs, NULL); func = data->func; arg = data->data; tor_free(_data); Loading Loading
ChangeLog +3 −0 Original line number Diff line number Diff line Loading @@ -39,6 +39,9 @@ Changes in version 0.1.2.8-alpha - 2007-??-?? - When EntryNodes are configured, rebuild the guard list to contain, in order: the EntryNodes that were guards before; the rest of the EntryNodes; the nodes that were guards before. - Mask out all signals in sub-threads; only the libevent signal handler should be processing them. This should prevent some crashes on some machines using pthreads. (Patch from coderman.) o Minor features (controller): - Warn the user when an application uses the obsolete binary v0 Loading
src/common/compat.c +9 −0 Original line number Diff line number Diff line Loading @@ -82,6 +82,9 @@ const char compat_c_id[] = #ifdef HAVE_PTHREAD_H #include <pthread.h> #endif #ifdef HAVE_SIGNAL_H #include <signal.h> #endif #ifdef HAVE_UTIME_H #include <utime.h> #endif Loading Loading @@ -996,6 +999,12 @@ tor_pthread_helper_fn(void *_data) tor_pthread_data_t *data = _data; void (*func)(void*); void *arg; /* mask signals to worker threads to avoid SIGPIPE, etc */ sigset_t sigs; /* We're in a subthread; don't handle any signals here. */ sigfillset(&sigs); pthread_sigmask(SIG_SETMASK, &sigs, NULL); func = data->func; arg = data->data; tor_free(_data); Loading