diff --git a/Changes b/Changes index bf10d8e..f5f8f5f 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,6 @@ * create dir for pid_file if it does not exist + * fix uninitialized warning in error when exec fails 0.001000 2013-02-26 SymKat * fixed a warning on "uninitialized value $called_with in substitution" diff --git a/lib/Daemon/Control.pm b/lib/Daemon/Control.pm index 515c812..b7987ce 100644 --- a/lib/Daemon/Control.pm +++ b/lib/Daemon/Control.pm @@ -247,12 +247,14 @@ sub _launch_program { $self->trace( "chdir(" . $self->directory . ")" ); } + my @args = @{$self->program_args || [ ]}; + if ( ref $self->program eq 'CODE' ) { - $self->program->( $self, @{$self->program_args || []} ); + $self->program->( $self, @args ); } else { - exec ( $self->program, @{$self->program_args || [ ]} ) + exec ( $self->program, @args ) or die "Failed to exec " . $self->program . " " - . join( " ", @{$self->program_args} ) . ": $!"; + . join( " ", @args ) . ": $!"; } exit 0; }