Thread sysread und alert: kein Abbruch (1 answers)
Opened by burnersk at 2008-10-17 19:53

FoolAck
 2008-10-17 20:10
#115603 #115603
User since
2008-05-02
69 Artikel
BenutzerIn
[default_avatar]
Also der Timout funktioniert, nur das returnen des Buffers irgendwie nicht, auch:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
my $retval = eval {
local $SIG{ALRM} = sub { exit };
alarm 10;
my $input = '';
while (<>) {
$input .= $_;
}
alarm 0;
return $input;
};
print $retval;

"funzt nicht".
Grade mal schaun was eval eigentlich zurückgeben soll..

Zu dir: bist du dir sicher, dass "alarm" unter windows funktioniert? Ist doch afaik ein system-call, oder? Und ipc ist meist sehr plattformspezifisch...

edit:
Quote
In both forms, the value returned is the value of the last expression evaluated inside the mini-program; a return statement may be also used, just as with subroutines.

ABER: das return wird ja nie erreicht, weil der signal-handler einfach exit macht. *Licht aufgeh*

edit:
Code: (dl )
1
2
3
4
5
6
7
8
9
my $input = '';
eval {
local $SIG{ALRM} = sub { die; };
alarm 3;
while (<>) {
$input .= $_;
}
};
print $input;

Works for me™

editagain:
hm? Und noch hier.
Welches Windows verwendest du denn genau?

View full thread sysread und alert: kein Abbruch