RE: kill doesn't work correctly

"Jan Dubois" <[email protected]>
Newsgroups gmane.comp.lang.perl.active-perl
Organization ActiveState Software Inc
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.