Re: maint-5.8@34289 on VMS

[email protected] ("Craig A. Berry")
Newsgroups perl.perl5.porters,perl.vmsperl
Message-ID <[email protected]>
On Sep 6, 2008, at 11:57 PM, Craig A. Berry wrote:

>>> On Sat, Sep 6, 2008 at 5:58 PM, John E. Malmberg <[email protected]>  
>>> wrote:
>>>>

>>>> We need to have a method of killing the Perl process with out  
>>>> killing the
>>>> shell on VMS.

What I ended up doing is making it send a SIGTERM rather than SIGKILL  
on VMS.  That seems to make Perl bail out nicely but doesn't take down  
the process it's running from.

> But this is all downstream of the immediate problem, which is that  
> in the watchdog() function in t/test.pl, the C<sleep(120)> call  
> returns in one second, not 120, and I've verified in the debugger  
> that Perl_pp_sleep in pp_sys.c does actually get an integer value of  
> 1 and passes it along to the sleep() in the C run-time.

The sleep() I was observing from the debugger was from a different  
thread.  I'm still not sure why the one in the watchdog was waking up  
early, but I put in code to make it requeue itself if that happens:

http://public.activestate.com/cgi-bin/perlbrowse/p/34316

The only documented reason I could find for sleep() waking up early is  
if an alarm fires, which could happen for any number of reasons, not  
the least of which is that sleep() may be implemented via alarms:

http://www.opengroup.org/onlinepubs/000095399/functions/sleep.html

________________________________________
Craig A. Berry
mailto:[email protected]

"... getting out of a sonnet is much more
  difficult than getting in."
                  Brad Leithauser
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.