Mercurial > hg > nginx-tests
comparison lib/Test/Nginx.pm @ 76:c7e29639f915
Tests: backout process group creation (b01ae969181b).
This turns to be bad idea since hitting ^C no longer works as expected and
leaves daemons running. And it's not used anyway.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 28 Mar 2009 01:17:25 +0300 |
parents | b01ae969181b |
children | ff5f4f298532 |
comparison
equal
deleted
inserted
replaced
49:b01ae969181b | 76:c7e29639f915 |
---|---|
112 sub stop() { | 112 sub stop() { |
113 my ($self) = @_; | 113 my ($self) = @_; |
114 | 114 |
115 while ($self->{_daemons} && scalar @{$self->{_daemons}}) { | 115 while ($self->{_daemons} && scalar @{$self->{_daemons}}) { |
116 my $p = shift @{$self->{_daemons}}; | 116 my $p = shift @{$self->{_daemons}}; |
117 # SIGTERM to process group | 117 kill 'TERM', $p; |
118 kill -15, $p; | |
119 wait; | 118 wait; |
120 } | 119 } |
121 | 120 |
122 return $self unless $self->{_started}; | 121 return $self unless $self->{_started}; |
123 | 122 |
153 | 152 |
154 my $pid = fork(); | 153 my $pid = fork(); |
155 die "Can't fork daemon: $!\n" unless defined $pid; | 154 die "Can't fork daemon: $!\n" unless defined $pid; |
156 | 155 |
157 if ($pid == 0) { | 156 if ($pid == 0) { |
158 setpgrp(0, 0); | |
159 if (ref($code) eq 'CODE') { | 157 if (ref($code) eq 'CODE') { |
160 $code->(@args); | 158 $code->(@args); |
161 exit 0; | 159 exit 0; |
162 } else { | 160 } else { |
163 exec($code, @args); | 161 exec($code, @args); |