[asterisk-commits] jrose: branch 1.8 r349672 - /branches/1.8/main/asterisk.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Jan 5 09:25:32 CST 2012
Author: jrose
Date: Thu Jan 5 09:25:29 2012
New Revision: 349672
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=349672
Log:
Ensures Asterisk closes when receiving terminal signals in 'no fork' mode.
When catching a signal, in no fork mode the console thread is identical to the thread
responsible for catching the signal and closing Asterisk, which requires it to first
dispense with the console thread. Prior to this patch, if these threads were identical,
upon receiving a killing signal, the thread will send an URG signal to itself, which
we also catch and then promptly do nothing with. Obviously this isn't useful behavior.
(closes issue ASTERISK-19127)
Reported By: Bryon Clark
Patches:
quit_on_signals.patch uploaded by Bryon Clark (license 6157)
Modified:
branches/1.8/main/asterisk.c
Modified: branches/1.8/main/asterisk.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/asterisk.c?view=diff&rev=349672&r1=349671&r2=349672
==============================================================================
--- branches/1.8/main/asterisk.c (original)
+++ branches/1.8/main/asterisk.c Thu Jan 5 09:25:29 2012
@@ -3098,7 +3098,7 @@
}
if (sig_flags.need_quit) {
sig_flags.need_quit = 0;
- if (consolethread != AST_PTHREADT_NULL) {
+ if ((consolethread != AST_PTHREADT_NULL) && (consolethread != pthread_self())) {
sig_flags.need_quit_handler = 1;
pthread_kill(consolethread, SIGURG);
} else {
More information about the asterisk-commits
mailing list