predicate => '_has_pidfile',
);
+# Override MooseX::Daemonize
+sub dont_close_all_files { 1 }
sub BUILD {
my $self = shift;
if ($self->background) {
# FIXME - This is evil. Should we just add MX::Daemonize to the deps?
- try { Class::MOP::load_class('MooseX::Daemonize::Core') }
+ try { Class::MOP::load_class('MooseX::Daemonize::Core'); Class::MOP::load_class('POSIX') }
catch {
warn("MooseX::Daemonize is needed for the --background option\n");
exit 1;
};
MooseX::Daemonize::Core->meta->apply($self);
+ POSIX::close($_) foreach (0..2);
}
}
sub _plack_engine_name {
my $self = shift;
- return $self->fork ? 'Starman' : $self->keepalive ? 'Starman' : 'Standalone';
+ return $self->fork || $self->keepalive ? 'Starman' : 'Standalone';
}
sub _restarter_args {
);
}
-sub _application_args {
- my ($self) = shift;
+around _application_args => sub {
+ my ($orig, $self) = @_;
return (
$self->port,
$self->host,
{
- argv => $self->ARGV,
+ %{ $self->$orig },
map { $_ => $self->$_ } qw/
fork
keepalive
pidfile
keepalive
follow_symlinks
+ port
+ host
/,
},
);
-}
+};
__PACKAGE__->meta->make_immutable;
-
1;
=head1 NAME
Run a Catalyst test server for this application.
+=head1 SEE ALSO
+
+L<Catalyst::ScriptRunner>
+
=head1 AUTHORS
Catalyst Contributors, see Catalyst.pm