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

Reply via email to