Net::Ping
Honza Pazdziora
adelton na informatics.muni.cz
Pátek Září 20 10:37:17 MEST 2002
On Wed, Sep 18, 2002 at 04:26:09PM +0200, Pavel Smerk wrote:
>
> nahodou jsem zabrousil do Net/Ping.pm a koukam, ze v ping_tcp je nasledujici
> kousek kodu:
>
> $SIG{'ALRM'} = sub { die };
> alarm($timeout); # Interrupt connect() if we have to
>
> $ret = 0; # Default to unreachable
> eval <<'EOM' ;
> return unless connect($self->{"fh"}, $saddr);
> $ret = 1;
> EOM
> alarm(0);
>
> Nemuze se stat, ze kdyz pouziju Net::Ping a zkusim nekam pingnout, pri
> vhodne konstelaci hvezd umru? Konkretne mi pripada, ze pokud instrukce mezi
> alarm($timeout) a koncem prikazu eval budou trvat "presne" $timeout, muze mi
> byt poslan SIGALRM v dobe kdy uz nejsem v evalu, ale jeste jsem nestihl
> zrusit timer. Nemelo by v eval byt jeste nejake $SIG{ALRM} = ...? Nebo neco
> funguje jinak, nez si myslim?
Vypada to tak. Zkus si dat dostatecne dlouhy sleep za ten eval. Asi by
nebylo od veci dat ten alarm(0) i do toho evalu dovnitr.
--
------------------------------------------------------------------------
Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
... all of these signs saying sorry but we're closed ...
------------------------------------------------------------------------
Další informace o konferenci Perl