diff options
author | Kevin Harwell <kharwell@digium.com> | 2015-01-27 22:58:44 +0000 |
---|---|---|
committer | Kevin Harwell <kharwell@digium.com> | 2015-01-27 22:58:44 +0000 |
commit | c7591ef6bc6ad4c4e1c7f6a66de78b6ff70dc913 (patch) | |
tree | c4afceb5fe89947112e7444fc537f4dea07edcc5 /main/tcptls.c | |
parent | e826cb8a26a71af45771026325145cd442dd6077 (diff) |
tcptls: Bad file descriptor error when reloading chan_sip
While running through some scenarios using chan_sip and tcp a problem would
occur that resulted in a flood of bad file descriptor messages on the cli:
tcptls.c:712 ast_tcptls_server_root: Accept failed: Bad file descriptor
The message is received because the underlying socket has been closed, so is
valid. This is probably happening because unloading of chan_sip is not atomic.
That however is outside the scope of this patch. This patch simply stops the
logging of multiple occurrences of that message.
ASTERISK-24728 #close
Reported by: Thomas Thompson
Review: https://reviewboard.asterisk.org/r/4380/
........
Merged revisions 431218 from http://svn.asterisk.org/svn/asterisk/branches/11
........
Merged revisions 431219 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@431220 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/tcptls.c')
-rw-r--r-- | main/tcptls.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/main/tcptls.c b/main/tcptls.c index 1930d61cf..dd2f5ea67 100644 --- a/main/tcptls.c +++ b/main/tcptls.c @@ -708,8 +708,9 @@ void *ast_tcptls_server_root(void *data) } fd = ast_accept(desc->accept_fd, &addr); if (fd < 0) { - if ((errno != EAGAIN) && (errno != EINTR)) { + if ((errno != EAGAIN) && (errno != EWOULDBLOCK) && (errno != EINTR) && (errno != ECONNABORTED)) { ast_log(LOG_ERROR, "Accept failed: %s\n", strerror(errno)); + break; } continue; } |