Thread Daemon::SSL nach Annahme der Verbindung forken (13 answers)
Opened by drux at 2010-06-30 00:37

drux
 2010-06-30 00:37
#139217 #139217
User since
2010-06-30
6 Artikel
BenutzerIn

user image
Aloha,
Ich habe dieselbe Frage im Perlunity-Forum schonmal gestellt, aber entweder ist sie zu trivial oder ich hab einfach was grundsaetzlich nicht verstanden ^^' (oder alle sind im Urlaub)
ich nutze ein HTTP::Daemon::SSL Objekt welches auf Anfragen eines Clients an einem bestimmten Port wartet.
Nun moechte ich, dass der "Server" bei jedem neuen Aufbau eines Clients den request nicht selbst bearbeitet, sondern sich forked und den request den kindprozess abarbeiten laesst, damit der eltern-prozess weiter verbindungen annehmen kann und sie dann wieder weiterreicht.
Zur Zeit sieht das so aus:


Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
while ( 1 ) {# prevents from exiting when client connects without SSL
  while (my $c = $d->accept()) {
    my $pid = fork();
    die "Cannot fork: $!" unless defined($pid);
    if ($pid == 0) {
      # &handle($c);
      sleep(10);
      exit(0);
    }
  }
}


handle wuerde den request nehmen und auswerten. Zur Zeit habe ich zu Testzwecken ein sleep drin, damit ich sehe ob man eine anfrage 2x senden kann und er sie gleichzeitig verarbeitet.

Meine frage waere jetzt, ob ich grundsaetzlich was falsch verstanden habe oder einen Denkfehler drin hab oder sonstwas ...
Komisch ist zB dass der Daemon zwar forked wenn ich eine anfrage sende, jedoch nur einmal, heisst bei der zweiten und dritten kommt kein neuer prozess.

Vielen Dank schonmal
so far...
Guck mal wer da kommt! Der Wayne-Train!

View full thread Daemon::SSL nach Annahme der Verbindung forken