diff options
author | wtc%netscape.com <devnull@localhost> | 2001-06-24 05:51:06 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 2001-06-24 05:51:06 +0000 |
commit | 3e39715aeefda49a5c14af7b0d57870cf67ff855 (patch) | |
tree | 3bb0ae229f9588786a02d40489eb5572c21d3512 | |
parent | 76f267689261abce31eca1d3c17778f5c6245488 (diff) | |
download | nspr-hg-3e39715aeefda49a5c14af7b0d57870cf67ff855.tar.gz |
Bugzilla bug 87493: PR_Accept() should retry after getting ECONNABORTED.
-rw-r--r-- | pr/src/pthreads/ptio.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/pr/src/pthreads/ptio.c b/pr/src/pthreads/ptio.c index 9c72d5d1..c51dd02c 100644 --- a/pr/src/pthreads/ptio.c +++ b/pr/src/pthreads/ptio.c @@ -706,7 +706,7 @@ static PRBool pt_accept_cont(pt_Continuation *op, PRInt16 revents) if (-1 == op->result.code) { op->syserrno = errno; - if (EWOULDBLOCK == errno || EAGAIN == errno) /* the only thing we allow */ + if (EWOULDBLOCK == errno || EAGAIN == errno || ECONNABORTED == errno) return PR_FALSE; /* do nothing - this one ain't finished */ } return PR_TRUE; @@ -1546,7 +1546,9 @@ static PRFileDesc* pt_Accept( { if (fd->secret->nonblocking) goto failed; - if (EWOULDBLOCK != syserrno && EAGAIN != syserrno) goto failed; + if (EWOULDBLOCK != syserrno && EAGAIN != syserrno + && ECONNABORTED != syserrno) + goto failed; else { if (PR_INTERVAL_NO_WAIT == timeout) syserrno = ETIMEDOUT; |