diff options
Diffstat (limited to 'net/openh323-112/files/patch-aa')
-rw-r--r-- | net/openh323-112/files/patch-aa | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/net/openh323-112/files/patch-aa b/net/openh323-112/files/patch-aa new file mode 100644 index 000000000000..ff2796c03099 --- /dev/null +++ b/net/openh323-112/files/patch-aa @@ -0,0 +1,57 @@ +*** ../pwlib/src/ptlib/unix/tlibthrd.cxx.orig Sun Nov 12 08:22:06 2000 +--- ../pwlib/src/ptlib/unix/tlibthrd.cxx Sun Nov 12 08:22:17 2000 +*************** static void sigSuspendHandler(int) +*** 261,266 **** +--- 261,273 ---- + } + + ++ static void sigResumeHandler(int) ++ { ++ // do nothing. This is here so the 'signal' is consumed ++ // and stops the application terminating with "User signal 2" ++ } ++ ++ + void HouseKeepingThread::Main() + { + PProcess & process = PProcess::Current(); +*************** void * PThread::PX_ThreadStart(void * ar +*** 437,446 **** + } + + // set the signal handler for SUSPEND_SIG +! struct sigaction action; +! memset(&action, 0, sizeof(action)); +! action.sa_handler = sigSuspendHandler; +! sigaction(SUSPEND_SIG, &action, 0); + + // now call the the thread main routine + //PTRACE(1, "tlibthrd\tAbout to call Main"); +--- 444,453 ---- + } + + // set the signal handler for SUSPEND_SIG +! struct sigaction suspend_action; +! memset(&suspend_action, 0, sizeof(suspend_action)); +! suspend_action.sa_handler = sigSuspendHandler; +! sigaction(SUSPEND_SIG, &suspend_action, 0); + + // now call the the thread main routine + //PTRACE(1, "tlibthrd\tAbout to call Main"); +*************** void PThread::Suspend(BOOL susp) +*** 559,564 **** +--- 566,578 ---- + { + PAssertOS(pthread_mutex_lock(&PX_suspendMutex) == 0); + BOOL unlock = TRUE; ++ ++ #if defined(P_FREEBSD) ++ struct sigaction resume_action; ++ memset(&resume_action, 0, sizeof(resume_action)); ++ resume_action.sa_handler = sigResumeHandler; ++ sigaction(RESUME_SIG, &resume_action, 0); ++ #endif + + if (pthread_kill(PX_threadId, 0) == 0) { + |