Re: alarms

2002-04-11 Thread Perrin Harkins

Damyan Ivanov wrote:
> OK, but I am really curious. What really happens if I intentionally set
> the alarm to ring after the request has finished? For example if I want
> something to hapen if apache child is idle for more than 15 minutes.

Try it.  Most likely it will run the alarm, but will interrupt some 
other unrelated request from a different user to do it.






Re: alarms

2002-04-11 Thread Stas Bekman

Damyan Ivanov wrote:
> On Thu, Apr 11, 2002 at 12:30:53AM +0800 Stas Bekman wrote:
> 
>>mire wrote:
>>
>>>I wish to know 2 things about mod_perl
>>>
>>>1) what happens when you set an alarm for lets say 30 seconds and the 
>>>request
>>>finishes in 20 ? Since apache child is very likely still alive is mod_perl 
>>>too ?
>>
>>You don't set alarm around the request, do you? You set the alarm for a 
>>certain code snippet and you reset it to 0 when it's done before the 
>>alarm went off. For runaway process control, see Apache::Watchdog::RunAway
> 
> 
> OK, but I am really curious. What really happens if I intentionally set
> the alarm to ring after the request has finished? For example if I want
> something to hapen if apache child is idle for more than 15 minutes.

Though I've never tried doing this, I suppose this will just work,
unless something disables/overrides your alarm sighandler.
SIGALRM is a normal process level SIG after all. Think of a mod_perl
process as a process that doesn't quit but just hangs there in a sort of
while loop, waiting for something to crunch on.

__
Stas BekmanJAm_pH --> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re: alarms

2002-04-10 Thread Damyan Ivanov

On Thu, Apr 11, 2002 at 12:30:53AM +0800 Stas Bekman wrote:
> mire wrote:
> >I wish to know 2 things about mod_perl
> >
> >1) what happens when you set an alarm for lets say 30 seconds and the 
> >request
> >finishes in 20 ? Since apache child is very likely still alive is mod_perl 
> >too ?
> 
> You don't set alarm around the request, do you? You set the alarm for a 
> certain code snippet and you reset it to 0 when it's done before the 
> alarm went off. For runaway process control, see Apache::Watchdog::RunAway

OK, but I am really curious. What really happens if I intentionally set
the alarm to ring after the request has finished? For example if I want
something to hapen if apache child is idle for more than 15 minutes.


-- 
Damyan




Re: alarms

2002-04-10 Thread Stas Bekman

mire wrote:
> I wish to know 2 things about mod_perl
> 
> 1) what happens when you set an alarm for lets say 30 seconds and the request
> finishes in 20 ? Since apache child is very likely still alive is mod_perl too ?

You don't set alarm around the request, do you? You set the alarm for a 
certain code snippet and you reset it to 0 when it's done before the 
alarm went off. For runaway process control, see Apache::Watchdog::RunAway

> 2) does apache child die when you issue die; from perl code (mod_perl
> ofcourse) ?

It does not, see:
http://perl.apache.org/preview/modperl-docs/dst_html/docs/1.0/guide/porting.html#die___and_mod_perl


__
Stas BekmanJAm_pH --> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com




Re: alarms

2002-04-10 Thread Perrin Harkins

mire wrote:
> 1) what happens when you set an alarm for lets say 30 seconds and the request
> finishes in 20 ?

You are supposed to unset the alarm if the event you were timing 
finishes before it goes off.

> 2) does apache child die when you issue die; from perl code (mod_perl
> ofcourse) ?

No, only when you call exit or child_terminate().

- Perrin







Re: Alarms?

2002-01-10 Thread Bill Moseley

At 06:56 PM 01/10/02 +0300, [EMAIL PROTECTED] wrote:
>Hello!
>
>I'm getting lots of errors in log:
>
>[Thu Jan 10 18:54:33 2002] [notice] child pid 8532 exit signal Alarm clock
>(14)

I hope I remember this correctly:

What's happening is you are setting a SIGALRM handler in perl, but perl is not 
correctly restoring Apache's handler when yours goes out of scope.

So then a non-mod_perl request times out there's not handler and the process is killed.

Check:
http://thingy.kcilink.com/modperlguide/debug/Debugging_Signal_Handlers_SIG_.html

http://thingy.kcilink.com/modperlguide/debug/Handling_Server_Timeout_Cases_an.html
-- 
Bill Moseley
mailto:[EMAIL PROTECTED]