coren has uploaded a new change for review.
https://gerrit.wikimedia.org/r/89420
Change subject: Tool Labs: Tweaks to portgranter
......................................................................
Tool Labs: Tweaks to portgranter
Change-Id: Ibb8e5f176debe85f5c7bd81de7e27e304e16ee9a
---
M modules/toollabs/files/portgranter
1 file changed, 10 insertions(+), 15 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/20/89420/1
diff --git a/modules/toollabs/files/portgranter
b/modules/toollabs/files/portgranter
index f09632d..d5d03a6 100755
--- a/modules/toollabs/files/portgranter
+++ b/modules/toollabs/files/portgranter
@@ -45,12 +45,20 @@
my $hostname = `hostname`; chomp $hostname;
my %clients;
my @ports;
-my $reap = 0;
my $update = 1;
use POSIX ":sys_wait_h";
sub REAPER {
- $reap = 1;
+ my $child;
+ while( ($child = waitpid(-1, WNOHANG)) > 0 ) {
+ if(defined $clients{$child}) {
+ my $c = $clients{$child};
+ delete $clients{$child};
+ $update = 1;
+ unshift @ports, $c->{'port'};
+ }
+ }
+
$SIG{CHLD} = \&REAPER; # loathe SysV
}
@@ -64,19 +72,6 @@
$| = 1;
for(;;)
{
- if($reap) {
- $reap = 0;
- my $child;
- while( ($child = waitpid(-1, WNOHANG)) > 0 ) {
- if(defined $clients{$child}) {
- my $c = $clients{$child};
- delete $clients{$child};
- $update = 1;
- unshift @ports, $c->{'port'};
- }
- }
- }
-
if($update) {
if(my $lock = new File::NFSLock {
file => "$scoreboard.new",
--
To view, visit https://gerrit.wikimedia.org/r/89420
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibb8e5f176debe85f5c7bd81de7e27e304e16ee9a
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: coren <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits