messagemode named pipes investigation: blocking-reads block writers indefinitely
fascinatingly strange observation came out of writing the latest test (threadwrites) to do namedpipe interoperability testing. main process: blocking-read on namedpipe. 5 threads: write to same named pipe the writes NEVER return (this is with xp). so that WOULD indicate that there IS a per-pipe mutex (and that there are bugs in nt!) l.
main process: blocking-read on namedpipe. 5 threads: write to same named pipe
the writes NEVER return (this is with xp).
so that WOULD indicate that there IS a per-pipe mutex (and that there are bugs in nt!)
unbelievable. turns out it's an msvcrt bug (in windows nt). if you use _beginthread() to create the 5 threads (or even just the one), the reader can block the writer(s). however if you use CreateThread(), everything's hunky-dory. anyone want to record _that_ one as a future interoperability bug-test, be my guest! ha ha :) no, but seriously: if someone tells me it's a worthwhile thing to have as an interoperability test, i'll write one. l.
participants (1)
-
Luke Kenneth Casson Leighton