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);