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
bulk 88 via RT
September 8, 2012 00:20
[perl #33096] [PATCH] win32_msgwait runs forever with non-infinite timeout
Message ID:
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

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About