Changeset 35267
- Timestamp:
- 09/09/09 14:49:07 (4 years ago)
- Location:
- lang/perl/Server-Starter/trunk
- Files:
-
- 2 added
- 1 modified
-
lib/Server/Starter.pm (modified) (6 diffs)
-
t/03-startfail-server.pl (added)
-
t/03-startfail.t (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Server-Starter/trunk/lib/Server/Starter.pm
r35266 r35267 56 56 } 57 57 $ENV{SERVER_STARTER_PORT} = join ";", @sockenv; 58 $ENV{SERVER_STARTER_GENERATION} = 0; 58 59 59 60 # setup signal handlers … … 72 73 my ($died_worker, $status) = @r; 73 74 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"; 75 76 $current_worker = _start_worker($opts); 76 77 } 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"; 79 79 delete $old_workers{$died_worker}; 80 80 } … … 85 85 $old_workers{$current_worker} = 1; 86 86 $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:"; 88 88 if (%old_workers) { 89 89 print STDERR join(',', sort keys %old_workers), "\n"; … … 110 110 if (my @r = wait3(1)) { 111 111 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"; 113 113 delete $old_workers{$died_worker}; 114 114 } … … 131 131 my $pid; 132 132 while (1) { 133 $ENV{SERVER_STARTER_GENERATION}++; 133 134 $pid = fork; 134 135 die "fork(2) failed:$!" … … 140 141 exit(255); 141 142 } 142 print STDERR "starting new worker process, pid:$pid\n";143 print STDERR "starting new worker $pid\n"; 143 144 sleep $opts->{interval}; 144 145 if (waitpid($pid, WNOHANG) <= 0) { 145 146 last; 146 147 } 147 print STDERR "new worker processseems to have failed to start, exit status:$?\n";148 print STDERR "new worker $pid seems to have failed to start, exit status:$?\n"; 148 149 } 149 150 $pid;
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)