........
r36751 | russell | 2006-07-03 01:12:03 -0400 (Mon, 03 Jul 2006) | 3 lines
fix a race condition that caused asterisk to log a *ton* of warnings on mac
osx about poll returning an error because the polled file descriptor was bad.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36752
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
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));
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);
- pthread_cancel(lthread);
}
if (ast_consock > -1)
close(ast_consock);