Closed
Bug 3233
Opened 26 years ago
Closed 26 years ago
plevent.c: blocking pipe reads and writes may freeze the Communicator
Categories
(NSPR :: NSPR, defect, P2)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: wtc, Assigned: srinivas)
Details
(Whiteboard: 3/25/99 awaiting srinivas@netscape.com to verify)
This bug was reported by the Linux user community.
Communicator 4.5 (which uses the old NSPR1) sometimes
freezes on the new Linux 2.2 kernel because it is
doing a blocking write to a full pipe. Because NSPR1
uses emulated user-level threads, if a thread blocks
in write(), the whole process blocks. This pipe is
created by the "event" code in ns/nspr/src/swmon.c,
which is inherited by NSPR20 in mozilla/nsprpub/lib/ds/plevent.c.
(Nobody seems to have reported this bug for SeaMonkey.)
The fix is to create the pipe in nonblocking mode and
have the reads and writes deal with the possibile
EAGAIN/EWOULDBLOCK error.
Since we may still use user-level threads on some Unix
platforms, I suggest that we check in this fix to NSPR 3.1.
Reporter | ||
Updated•26 years ago
|
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 1•26 years ago
|
||
The fix is checked into the tip.
/cvsroot/mozilla/nsprpub/lib/ds/plevent.c, revision 3.14.
The fix is also checked into the internal CVS repository.
/m/src/ns/nspr20/lib/ds/plevent.c, revision 2.14.
For the record, the reporter was Stanislav Meduna (stano@trillian.eunet.sk). He
did the detective work. Thanks Stano!
For the record, the reporter was Stanislav Meduna (stano@trillian.eunet.sk). He
did the detective work. Thanks Stano!
Updated•26 years ago
|
QA Contact: 3849
Whiteboard: awaiting srinivas@netscape.com to verify
Updated•26 years ago
|
Whiteboard: awaiting srinivas@netscape.com to verify → 3/25/99 awaiting srinivas@netscape.com to verify
Reporter | ||
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Reporter | ||
Comment 4•26 years ago
|
||
Marked bug as verified.
Comment 5•26 years ago
|
||
NSPR now has its own Bugzilla product. Moving this bug to the NSPR product.
You need to log in
before you can comment on or make changes to this bug.
Description
•