Skip to content

Commit

Permalink
use a more consistent attribute name
Browse files Browse the repository at this point in the history
  • Loading branch information
kraih committed Jan 27, 2015
1 parent a1d8aea commit f877d2a
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 10 deletions.
8 changes: 4 additions & 4 deletions lib/Mojo/Server/Morbo.pm
Expand Up @@ -33,7 +33,7 @@ sub run {
# Clean manager environment
local $SIG{CHLD} = sub { $self->_reap if $self->{worker} };
local $SIG{INT} = local $SIG{TERM} = local $SIG{QUIT} = sub {
$self->{stop} = 1;
$self->{finished} = 1;
kill 'TERM', $self->{worker} if $self->{worker};
};
unshift @{$self->watch}, $app;
Expand All @@ -42,7 +42,7 @@ sub run {
# Prepare and cache listen sockets for smooth restarting
my $daemon = Mojo::Server::Daemon->new(silent => 1)->start->stop;

$self->_manage while !$self->{stop} || $self->{worker};
$self->_manage while !$self->{finished} || $self->{worker};
exit 0;
}

Expand Down Expand Up @@ -88,14 +88,14 @@ sub _spawn {

# Worker
$SIG{CHLD} = 'DEFAULT';
$SIG{INT} = $SIG{TERM} = $SIG{QUIT} = sub { $self->{stop} = 1 };
$SIG{INT} = $SIG{TERM} = $SIG{QUIT} = sub { $self->{finished} = 1 };
my $daemon = Mojo::Server::Daemon->new;
$daemon->load_app($self->watch->[0]);
$daemon->silent(1) if $ENV{MORBO_REV} > 1;
$daemon->start;
my $loop = $daemon->ioloop;
$loop->recurring(
1 => sub { shift->stop if !kill(0, $manager) || $self->{stop} });
1 => sub { shift->stop if !kill(0, $manager) || $self->{finished} });
$loop->start;
exit 0;
}
Expand Down
15 changes: 9 additions & 6 deletions lib/Mojo/Server/Prefork.pm
Expand Up @@ -81,7 +81,9 @@ sub run {
# Clean manager environment
local $SIG{INT} = local $SIG{TERM} = sub { $self->_term };
local $SIG{CHLD} = sub {
while ((my $pid = waitpid -1, WNOHANG) > 0) { $self->_reap($pid) }
while ((my $pid = waitpid -1, WNOHANG) > 0) {
$self->emit(reap => $pid)->_stopped($pid);
}
};
local $SIG{QUIT} = sub { $self->_term(1) };
local $SIG{TTIN} = sub { $self->workers($self->workers + 1) };
Expand All @@ -103,7 +105,7 @@ sub _manage {
my $self = shift;

# Spawn more workers if necessary and check PID file
if (!$self->{stop}) {
if (!$self->{finished}) {
$self->_spawn while keys %{$self->{pool}} < $self->workers;
$self->ensure_pid_file;
}
Expand Down Expand Up @@ -138,12 +140,10 @@ sub _manage {
# Normal stop
$log->debug("Stopping worker $pid")
and (kill 'KILL', $pid or $self->_stopped($pid))
if $w->{force} || ($self->{stop} && !$graceful);
if $w->{force} || ($self->{finished} && !$graceful);
}
}

sub _reap { shift->emit(reap => $_[0])->_stopped($_[0]) }

sub _spawn {
my $self = shift;

Expand Down Expand Up @@ -208,7 +208,10 @@ sub _stopped {
unless $w->{healthy};
}

sub _term { @{$_[0]->emit(finish => $_[1])}{qw(stop graceful)} = (1, $_[1]) }
sub _term {
my ($self, $graceful) = @_;
@{$self->emit(finish => $graceful)}{qw(finished graceful)} = (1, $graceful);
}

sub _wait {
my $self = shift;
Expand Down

0 comments on commit f877d2a

Please sign in to comment.