Mercurial > hg > nginx-tests
comparison lib/Test/Nginx.pm @ 77:ff5f4f298532
Tests: merge.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 28 Mar 2009 01:18:06 +0300 |
parents | 5f56040c39df c7e29639f915 |
children | d5330d926fac |
comparison
equal
deleted
inserted
replaced
75:f81c6be872e5 | 77:ff5f4f298532 |
---|---|
143 sub stop() { | 143 sub stop() { |
144 my ($self) = @_; | 144 my ($self) = @_; |
145 | 145 |
146 while ($self->{_daemons} && scalar @{$self->{_daemons}}) { | 146 while ($self->{_daemons} && scalar @{$self->{_daemons}}) { |
147 my $p = shift @{$self->{_daemons}}; | 147 my $p = shift @{$self->{_daemons}}; |
148 # SIGTERM to process group | 148 kill 'TERM', $p; |
149 kill -15, $p; | |
150 wait; | 149 wait; |
151 } | 150 } |
152 | 151 |
153 return $self unless $self->{_started}; | 152 return $self unless $self->{_started}; |
154 | 153 |
184 | 183 |
185 my $pid = fork(); | 184 my $pid = fork(); |
186 die "Can't fork daemon: $!\n" unless defined $pid; | 185 die "Can't fork daemon: $!\n" unless defined $pid; |
187 | 186 |
188 if ($pid == 0) { | 187 if ($pid == 0) { |
189 setpgrp(0, 0); | |
190 if (ref($code) eq 'CODE') { | 188 if (ref($code) eq 'CODE') { |
191 $code->(@args); | 189 $code->(@args); |
192 exit 0; | 190 exit 0; |
193 } else { | 191 } else { |
194 exec($code, @args); | 192 exec($code, @args); |