On Aug 14, 2005, at 3:15, Manfred Spraul wrote:
Opening a FIFO for WR_ONLY should release a previously blocked
RD_ONLY open. I suspect this is not guaranteed on a heavily loaded
Linux box.
Do you have a test case?
IIRC we had that bug, and it was fixed by adding PIPE_WCOUNTER:
PIPE_WRITERS counts the number of writers. This one is decreased
during close(). PIPE_WCOUNTER counts how often a writer was seen. It's
never decreased. Readers that wait for a writer wait until
PIPE_WCOUNTER changes, they do not look at PIPE_WRITERS.
Ah, I missed the semantics of WCOUNTER. True, writer's open should
always release the reader' s open (as Alan pointed out).
I do have a test application, which experienced dead-locked readers'
opens before I artificially delayed writers' closes. The application
runs on PlanetLab, which uses VServer, though. I'll try to construct
next a minimal test case based on the application and reproduce the
behavior on a vanilla box...
Teemu
--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|