From: Automerge script Date: Mon, 3 Jul 2006 06:03:44 +0000 (+0000) Subject: automerge commit X-Git-Tag: 1.2.10-netsec~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b051dd68992679363d6f1d9c9d785dc806349aa5;p=thirdparty%2Fasterisk.git automerge commit git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@36776 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/asterisk.c b/asterisk.c index b10dcba10c..abb0a43927 100644 --- a/asterisk.c +++ b/asterisk.c @@ -592,6 +592,7 @@ static void *listener(void *unused) fds[0].fd = ast_socket; fds[0].events= POLLIN; s = poll(fds, 1, -1); + pthread_testcancel(); if (s < 0) { if (errno != EINTR) ast_log(LOG_WARNING, "poll returned error: %s\n", strerror(errno)); @@ -905,13 +906,13 @@ static void quit_handler(int num, int nice, int safeshutdown, int restart) ast_log(LOG_DEBUG, "Asterisk ending (%d).\n", num); manager_event(EVENT_FLAG_SYSTEM, "Shutdown", "Shutdown: %s\r\nRestart: %s\r\n", ast_active_channels() ? "Uncleanly" : "Cleanly", restart ? "True" : "False"); if (ast_socket > -1) { + pthread_cancel(lthread); close(ast_socket); ast_socket = -1; + unlink(ast_config_AST_SOCKET); } if (ast_consock > -1) close(ast_consock); - if (ast_socket > -1) - unlink((char *)ast_config_AST_SOCKET); if (!option_remote) unlink((char *)ast_config_AST_PID); printf(term_quit()); if (restart) {