input timeout

Michal Pise mpis7450 na ss1000.ms.mff.cuni.cz
Středa Únor 23 08:39:47 MET 2000


pouzijte funkci alarm (man perlfunc):

eval {
    local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
    alarm $timeout;
    $nread = sysread SOCKET, $buffer, $size;
    alarm 0;
};
if ($@) {
    die unless $@ eq "alarm\n";   # propagate unexpected errors
    # timed out
}
else {
    # didn't
}

Michal Pise

On Wed, 23 Feb 2000, Vasek Vobornik wrote:

> 
> Existuje v Perlu moznost pri vstupu ze <STDIN> po vyprseni zadaneho timeoutu
> pokracoval ve scriptu dale? Neco jako:
> 
> $result=getlinetime(STDIN, $key, 20);
> if ($result) {
>     print "zadano: $key";
> }
> else {
>     print "vyprsel timeout 20 sec.";
> }
> 
> Verim, ze urcite ano, jen nevim jak.
> Predem dekuji za kazdou radu.
> 
> Vasek Vobornik
> 
> 



Další informace o konferenci Perl