AT>> стаpое поведение. Его можно отменить как для отдельной
AT>> пpогpаммы, так и (в Linux) для системы в целом. Возможно, у тебя
AT>> где-нибудь в стаpтапе так и сделано.
Вот чего пишет man:
Unlike on BSD systems, signals under Linux are reset to
their default behavior when raised. However, if you
include <bsd/signal.h> instead of <signal.h> then signal
is redefined as __bsd_signal and signal has the BSD seman-
tics. Both versions of signal are library routines built
on top of sigaction(2).
А вот чего написано в сорце кернела:
asmlinkage unsigned long
sys_signal(int sig, __sighandler_t handler)
{
struct k_sigaction new_sa, old_sa;
int ret;
new_sa.sa.sa_handler = handler;
new_sa.sa.sa_flags = SA_ONESHOT | SA_NOMASK;
ret = do_sigaction(sig, &new_sa, &old_sa);
return ret ? ret : (unsigned long)old_sa.sa.sa_handler;
}
Т.е. я так понимаю, что sigaction ведет себя как скажут, а signal по
дефолту сделан одноразовым. Я думаю, Perl именно sigaction и использует.
--
frodo@sharat.co.il \/ There shall be counsels taken
Stanislav Malyshev /\ Stronger than Morgul-spells
phone +972-3-9316425 /\ JRRT LotR.
http://sharat.co.il/frodo/ whois:!SM8333
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =