summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-08-26 19:27:23 +0000
committerBenny Prijono <bennylp@teluu.com>2008-08-26 19:27:23 +0000
commit4c6207ca84876f60c8f98d587b0a23d4421959a7 (patch)
tree2de0a031a41534b4e1b1dbb813683b4f869c62b1
parentff46158b004aa48ecf780a49a5a6bd40396f273c (diff)
Ticket #601: 100% CPU usage when TCP active socket receives ECONNRESET
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2246 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib/src/pj/activesock.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pjlib/src/pj/activesock.c b/pjlib/src/pj/activesock.c
index 1d65fe76..903de70d 100644
--- a/pjlib/src/pj/activesock.c
+++ b/pjlib/src/pj/activesock.c
@@ -420,7 +420,8 @@ static void ioqueue_on_read_complete(pj_ioqueue_key_t *key,
} else if (bytes_read <= 0 &&
-bytes_read != PJ_STATUS_FROM_OS(OSERR_EWOULDBLOCK) &&
-bytes_read != PJ_STATUS_FROM_OS(OSERR_EINPROGRESS) &&
- -bytes_read != PJ_STATUS_FROM_OS(OSERR_ECONNRESET))
+ (asock->stream_oriented ||
+ -bytes_read != PJ_STATUS_FROM_OS(OSERR_ECONNRESET)))
{
pj_size_t remainder;
pj_bool_t ret;