develooper Front page | perl.perl5.porters | Postings from September 2012

[perl #33096] [PATCH] win32_msgwait runs forever with non-infinite timeout

Thread Previous | Thread Next
From:
bulk 88 via RT
Date:
September 8, 2012 00:20
Subject:
[perl #33096] [PATCH] win32_msgwait runs forever with non-infinite timeout
Message ID:
rt-3.6.HEAD-11172-1347088825-249.33096-15-0@perl.org
On Fri Sep 07 16:00:03 2012, bulk88 wrote:
> The problem with VS Debugger is it loads msctf.dll into the Perl process
...

Egh, again I didn't forward my posts to P5P list from RT interface.

I wrote a patch that solves the overflow and underflow issues I
identified while investigating 33096. I couldn't decide whether to put a
"Perl's sleep on Windows won't work correctly if you specify more than
49 days of seconds as an argument to sleep" know problem in README.win32
or in perlport.pod so someone else do that if appropriate. The far
fetched way to fix this VS debugger bug would be to completely remove
using the message queue in Perl. Instead use APC timers and QueueUserAPC
for inter-fork/inter-ithread communication and timers. Or more
adventurously, since both APCs and the message queue are OS thread
locked on Windows, use an IOCP, with APCs timers delivered to a kernel32
threadpool (win2k or newer) thread which then posts the timer to an
IOCP. Any OS thread can subscribe and listen to an IOCP queue. Moving
Perl interps between OS threads isn't done by Perl, and is an very rare
thing done in general (I've seen working examples of it Perlmonks).

I'm not sure if this bug should remain open (more than 49 days of
seconds passed to sleep), rejected (it is VS Debugger's bug), or resolved.

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org:443/rt3/Ticket/Display.html?id=33096

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About