Schrift
[thread]6391[/thread]

Scriptabbruch nach x Sekunden (Seite 2)



<< |< 1 2 >| >> 12 Einträge, 2 Seiten
sri
 2004-07-13 12:41
#84162 #84162
User since
2004-01-29
828 Artikel
BenutzerIn
[Homepage] [default_avatar]
"Safe signals" lassen sich übrigens mit der POSIX funktion sigaction() umgehen, was allerdings nicht zu empfehlen ist, weil hierbei wichtige opcodes abgebrochen werden können, was zu einer beschädigung des Speichers führen kann.
ptk
 2004-07-13 13:23
#84163 #84163
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Oder man setzt (seit 5.8.1) die Environment-Variable PERL_SIGNALS auf "unsafe".

Es gibt durchaus Anwendungen, wo man noch immer unsichere Signale haben moechte. Bzw. funktioniert das folgende Skript mit Safe signals nicht mehr:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/usr/bin/perl

use sigtrap qw(stack-trace USR1);

use Inline C => 'DATA';

warn "kill -USR1 $$\n";
endlos();

_ _ DATA _ _
_ _ C _ _
void endlos() {
while(1) {
sleep(1);
}
}

Frueher konnte man das haengende Skript per USR1-Signal abbrechen und die Position ausgeben lassen. Jetzt geht das nicht mehr --- sigtrap waere also ein Kandidat, um mit POSIX::sigaction() umgeschrieben zu werden.
<< |< 1 2 >| >> 12 Einträge, 2 Seiten



View all threads created 2004-07-10 22:14.