On Mon, 05 Apr 2010, Jan Dubois wrote:
> On Mon, 05 Apr 2010, Bill Luebkert wrote:
> > I can reproduce it in 5.8 B820.
> 
> Yes, I can do that too, but it is not very interesting as the Changelog
> already explains that kill(0, $pid) was broken in 820 and fixed in 822
> (821 was an HP-UX specific build):
> 
> http://docs.activestate.com/activeperl/5.8/changes.html#build_822_wednesday__aug_1__2007

Looking more closely shows that the bug fix got lost before the actual 822
release again. 823 was a non-public release, so kill(0, $pid) wasn't
really fixed until build 824.
 
> [...]
> 
> > I get similar weird returns from OpenProcess using API.
> 
> Could you elaborate on that?

Just to explain the problem in earlier Perl versions: the bug was
introduced by some refactoring to support kill(-$signal, $pid) on
Windows to send a signal too all processes in a process tree. That
resulted in checking the return value of OpenProcess() against
INVALID_HANDLE_VALUE, which is the normal Win32 in-band error value.

OpenProcess() however is not following that convention and returns
NULL as the error value (which technically is a valid HANDLE value,
except OpenProcess() cannot return the pid of the "System Idle
Process" pseudo-process anyways).

Cheers,
-Jan


_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to