Posted By: sinuhet (%s/builtin/vi/) on 'CZscripts'
Title:     Re: jeste k signalum v perlu
Date:      Mon Mar 15 16:41:43 1999

> 
> printf("x0n");
> $SIG{'HUP'} = sub { $x = 1; };
> printf("x1n");
> eval {
>   printf("x2n");
>   local $SIG{'HUP'} = ¨
>   printf("x3n");
>   die if ($x);
>   select(undef, undef, undef, undef); # jenom priklad
> };
> 
> strace vypada asi takhle:
> write(1, "x0n", 3)                     = 3
> sigaction(SIGHUP, {0x807c964, [], 
> SA_STACK|SA_RESTART|SA_INTERRUPT|SA_ONESHOT|0x7fffa78}, {SIG_DFL}) = 0
> write(1, "x1n", 3)                     = 3
> write(1, "x2n", 3)                     = 3
> sigaction(SIGHUP, {SIG_DFL}, {0x807c964, [], 
> SA_STACK|SA_RESTART|SA_INTERRUPT|SA_ONESHOT|0x7fffa18}) = 0
> sigaction(SIGHUP, {0x807c964, [], 0}, {SIG_DFL}) = 0
> write(1, "x3n", 3)                     = 3
> select(0, NULL, NULL, NULL, NULL)       = ? ERESTARTNOHAND (To be restarted)
> 
>  Ten SIG_DFL je featura nebo bug? V pripade, ze featura, da se v perlu
> udelat to, co mam na mysli, nejak bezpecne?

ten SIG_DFL je tam dle mne nezbytny: eval blok se kompiluje za behu,
takze perl se musi pripravit na nejhorsi (kdo vi jak muze skoncit
kompilace, ze ?)

100% neprustrelne to tedy neni, neco lepsiho (a napsaneho v perlu)
me ale zatim nenapada :-)

>         Krysa

honza

Search the boards