X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FEngine%2FHTTP.pm;h=9a3b358fd8e3dbcc14f23ad1b5f34a37c67590ea;hb=63182b082619eab5ffd56cd03b5825902f42bfdb;hp=11632449fcf126a1056a4de890760e6acb142b53;hpb=8dd2f514f04029b9fac7ca4d31ffdb204cd9b12e;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Engine/HTTP.pm b/lib/Catalyst/Engine/HTTP.pm index 1163244..9a3b358 100644 --- a/lib/Catalyst/Engine/HTTP.pm +++ b/lib/Catalyst/Engine/HTTP.pm @@ -183,7 +183,7 @@ sub run { my ( $self, $class, $port, $host, $options ) = @_; $options ||= {}; - + $self->options($options); if ($options->{background}) { @@ -218,6 +218,8 @@ sub run { ) or die "Couldn't create daemon: $!"; + $port = $daemon->sockport(); + my $url = "http://$host"; $url .= ":$port" unless $port == 80; @@ -287,10 +289,10 @@ sub run { } $self->_handler( $class, $port, $method, $uri, $protocol ); - + if ( $self->_has_write_error ) { close Remote; - + if ( !defined $pid ) { next LISTEN; } @@ -322,9 +324,9 @@ sub run { close Remote; } } - + $daemon->close; - + DEBUG && warn "Shutting down\n"; if ($restart) { @@ -335,8 +337,8 @@ sub run { ### those include dirs upon re-exec. So add them to PERL5LIB, so they ### are available again for the exec'ed process --kane use Config; - $ENV{PERL5LIB} .= join $Config{path_sep}, @INC; - + $ENV{PERL5LIB} .= join $Config{path_sep}, @INC; + exec $^X, $0, @{ $options->{argv} }; }