mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 03:18:30 +00:00
Merged revisions 278981 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r278981 | tilghman | 2010-07-23 11:42:25 -0500 (Fri, 23 Jul 2010) | 8 lines Avoid race with consolethread on shutdown (on parallel processors). (closes issue #17080) Reported by: sybasesql Patches: 20100721__issue17080.diff.txt uploaded by tilghman (license 14) Tested by: sybasesql ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278982 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1635,15 +1635,22 @@ static void quit_handler(int num, int niceness, int safeshutdown, int restart)
|
|||||||
ast_module_shutdown();
|
ast_module_shutdown();
|
||||||
}
|
}
|
||||||
if (ast_opt_console || (ast_opt_remote && !ast_opt_exec)) {
|
if (ast_opt_console || (ast_opt_remote && !ast_opt_exec)) {
|
||||||
if (getenv("HOME"))
|
if (getenv("HOME")) {
|
||||||
snprintf(filename, sizeof(filename), "%s/.asterisk_history", getenv("HOME"));
|
snprintf(filename, sizeof(filename), "%s/.asterisk_history", getenv("HOME"));
|
||||||
if (!ast_strlen_zero(filename))
|
}
|
||||||
|
if (!ast_strlen_zero(filename)) {
|
||||||
ast_el_write_history(filename);
|
ast_el_write_history(filename);
|
||||||
if (el != NULL)
|
}
|
||||||
|
if (consolethread == AST_PTHREADT_NULL || consolethread == pthread_self()) {
|
||||||
|
/* Only end if we are the consolethread, otherwise there's a race with that thread. */
|
||||||
|
if (el != NULL) {
|
||||||
el_end(el);
|
el_end(el);
|
||||||
if (el_hist != NULL)
|
}
|
||||||
|
if (el_hist != NULL) {
|
||||||
history_end(el_hist);
|
history_end(el_hist);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if (option_verbose)
|
if (option_verbose)
|
||||||
ast_verbose("Executing last minute cleanups\n");
|
ast_verbose("Executing last minute cleanups\n");
|
||||||
ast_run_atexits();
|
ast_run_atexits();
|
||||||
|
|||||||
Reference in New Issue
Block a user