Hi,
ich möchte einen Webserver Multi-User-fähig machen und daher ein Forking einbauen. Meinen Webserver starte ich mit folgendem Aufruf:
my $pid = MyWebserver->new(8080)->background();
Dem zu Grunde liegt ein auf HTTP::Server::Simple beruhendes Modul.
Meine Frage wäre jetzt an dieser Stelle: Wie kann ich das Forking umsetzen?
Mein bisheriger Versuch sah etwa so aus:
use strict;
use warnings;
package webserver;
use MyWebserver;
use Net::Server::PreFork;
use base qw(Net::Server::PreFork);
sub process_request {
my $self = shift;
my $pid = MyWebserver->new()->background();
}
webserver->run(port => 8080);
Das funktioniert jedoch nicht. Anfangs hatte ich im new() noch den Port mit übergeben, aber dann kam natürlich die Fehlermeldung, dass der Port schon benutzt wird.
Wie kann ich nun das Forking umsetzen?
Danke Euch vielmals für Eure Hilfe.
MfG
DonKnilch