From 4f0b5e4699f0474a68fcde313227b3f82414bf10 Mon Sep 17 00:00:00 2001 From: Raphael Manfredi Date: Tue, 6 Apr 2021 09:08:10 +0200 Subject: [PATCH] Undo change in Mojo::UserAgent::Server. We can instead adapt the start() method of Mojo::Server::Daemon to leave Mojo::UserAgent::Server in pristine state. --- lib/Mojo/Server/Daemon.pm | 1 + lib/Mojo/UserAgent/Server.pm | 7 +------ t/mojo/daemon.t | 7 ++++++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/lib/Mojo/Server/Daemon.pm b/lib/Mojo/Server/Daemon.pm index 03f5a49331..f51d06a488 100644 --- a/lib/Mojo/Server/Daemon.pm +++ b/lib/Mojo/Server/Daemon.pm @@ -54,6 +54,7 @@ sub start { # Start listening elsif (!@{$self->acceptors}) { $self->app->server($self); + $self->app->worker_starting; $self->_listen($_) for @{$self->listen}; } diff --git a/lib/Mojo/UserAgent/Server.pm b/lib/Mojo/UserAgent/Server.pm index caa460cb9c..516528613b 100644 --- a/lib/Mojo/UserAgent/Server.pm +++ b/lib/Mojo/UserAgent/Server.pm @@ -12,16 +12,11 @@ sub app { # Singleton application state $singleton; - unless (ref $self) { - my $starting = ref $app && (!defined $singleton || $singleton ne $app); - $app->worker_starting if $starting; - return $singleton = $app ? $app : $singleton; - } + return $singleton = $app ? $app : $singleton unless ref $self; # Default to singleton application return $self->{app} || $singleton unless $app; $self->{app} = $app; - $app->worker_starting; return $self; } diff --git a/t/mojo/daemon.t b/t/mojo/daemon.t index 4cfe5ef425..70b60a478a 100644 --- a/t/mojo/daemon.t +++ b/t/mojo/daemon.t @@ -171,7 +171,12 @@ $app->routes->any( } ); -$app->routes->any('/*whatever' => {text => $whatever}); +$app->routes->any( + '/*whatever' => sub { + my ($c) = shift; + $c->render(text => $whatever); + } +); subtest 'Normal request' => sub { my $tx = $ua->get('/normal/');