Changeset 35267

Show
Ignore:
Timestamp:
09/09/09 14:49:07 (4 years ago)
Author:
kazuho
Message:

add startup fail test, refine messages

Location:
lang/perl/Server-Starter/trunk
Files:
2 added
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Server-Starter/trunk/lib/Server/Starter.pm

    r35266 r35267  
    5656    } 
    5757    $ENV{SERVER_STARTER_PORT} = join ";", @sockenv; 
     58    $ENV{SERVER_STARTER_GENERATION} = 0; 
    5859     
    5960    # setup signal handlers 
     
    7273            my ($died_worker, $status) = @r; 
    7374            if ($died_worker == $current_worker) { 
    74                 print STDERR "worker process $died_worker died unexpectedly with status:$status, restarting\n"; 
     75                print STDERR "worker $died_worker died unexpectedly with status:$status, restarting\n"; 
    7576                $current_worker = _start_worker($opts); 
    7677            } else { 
    77                 print STDERR "old worker process $died_worker died," 
    78                     . " status:$status\n"; 
     78                print STDERR "old worker $died_worker died, status:$status\n"; 
    7979                delete $old_workers{$died_worker}; 
    8080            } 
     
    8585                $old_workers{$current_worker} = 1; 
    8686                $current_worker = _start_worker($opts); 
    87                 print STDERR "sending TERM to old workers:"; 
     87                print STDERR "new worker is now running, sending TERM to old workers:"; 
    8888                if (%old_workers) { 
    8989                    print STDERR join(',', sort keys %old_workers), "\n"; 
     
    110110        if (my @r = wait3(1)) { 
    111111            my ($died_worker, $status) = @r; 
    112             print STDERR "worker process $died_worker died, status:$status\n"; 
     112            print STDERR "worker $died_worker died, status:$status\n"; 
    113113            delete $old_workers{$died_worker}; 
    114114        } 
     
    131131    my $pid; 
    132132    while (1) { 
     133        $ENV{SERVER_STARTER_GENERATION}++; 
    133134        $pid = fork; 
    134135        die "fork(2) failed:$!" 
     
    140141            exit(255); 
    141142        } 
    142         print STDERR "starting new worker process, pid:$pid\n"; 
     143        print STDERR "starting new worker $pid\n"; 
    143144        sleep $opts->{interval}; 
    144145        if (waitpid($pid, WNOHANG) <= 0) { 
    145146            last; 
    146147        } 
    147         print STDERR "new worker process seems to have failed to start, exit status:$?\n"; 
     148        print STDERR "new worker $pid seems to have failed to start, exit status:$?\n"; 
    148149    } 
    149150    $pid;