Interrupted system call

25/03/2009 - 08:40 von Oliver ojo Bedford | Report spam
Hi!

Mein Skript bricht immer durch einen "interrupted system call" by accept()
ab. Wie sieht eine portable Lösung aus?

System ist ein aktuelles Linux (Ubuntu 8.10).

Skript sieht etwa so aus:

use IO::Socket::INET;

$SIG{CHLD} = sub { my $child=wait };
...weitere Initialisierung...

while() {
$socket->accept(); <-- hier dann nach Erhalten von SIGCHLD:
interrupted system call

...Verarbeitung...

fork();
...Kindprozess macht was und stirbt...
...Elternprozess ràumt auf und zur nàchsten Iteration...
}

TIA,
Oliver
 

Lesen sie die antworten

#1 Frank Seitz
25/03/2009 - 09:00 | Warnen spam
Oliver 'ojo' Bedford wrote:

Mein Skript bricht immer durch einen "interrupted system call" by accept()
ab. Wie sieht eine portable Lösung aus?



Du prüfst auf diesen Fehlerfall (EINTR) und rufst accept erneut auf.

Grüße
Frank
Dipl.-Inform. Frank Seitz; http://www.fseitz.de/
Anwendungen für Ihr Internet und Intranet
Tel: 04103/180301; Fax: -02; Industriestr. 31, 22880 Wedel

Ähnliche fragen