[Catalyst] timeouts

Yuval Kogman nothingmuch at woobling.org
Fri Apr 14 20:24:23 CEST 2006


On Fri, Apr 14, 2006 at 19:34:21 +0100, Carl Franks wrote:
> On 14/04/06, Nilson Santos Figueiredo Junior <acid06 at gmail.com> wrote:
> 
> > Remember that alarm() isn't safe under Win32 (as almost anything else
> > regarding signals). Actually, the last time I tried, it didn't even
> > work.
> 
> $ENV{PERL_SIGNALS} = 'unsafe';
> will get alarm to work on win32
> 
> I've used it successfully before, though I don't know what effects the
> 'unsafe' setting might have.

It means, at least on UNIX, that signal handlers may run code which
will screw up non-reentrant functions, like (probably) malloc.

Safe signals set a flag and then trigger the Perl signal handler a
the next possible moment (the next opcode, more specifically), so
that all function invocation is safe.

Otherwise, the signal handler must be very careful to not create new
storage or do anything complicated. The reccomended behavior is to
set a variable that is already allocated to a different numeric
value, and that's it.

-- 
  Yuval Kogman <nothingmuch at woobling.org>
http://nothingmuch.woobling.org  0xEBD27418

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
Url : http://lists.rawmode.org/pipermail/catalyst/attachments/20060414/e82f1297/attachment-0001.pgp 


More information about the Catalyst mailing list