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