[plague] Patch server and builder to send a fake request in SIGTERM exit handler

Michael Schwendt mschwendt at fedoraproject.org
Mon Apr 22 13:39:05 UTC 2013


commit 7837d4c0a75514fbb842fe3fc9d80552d78b0ecc
Author: Michael Schwendt <mschwendt at fedoraproject.org>
Date:   Mon Apr 22 15:39:01 2013 +0200

    Patch server and builder to send a fake request in SIGTERM exit handler
    
      to end the serve_forever loop.
    - Also add Requires=rpcbind.service in systemd files.
    - Fix typo in EmailUtils.py error message.

 plague-0.4.5.8-wakeup-serve_forever.patch |   20 +++++++++++++++++++-
 plague.spec                               |    6 +++---
 2 files changed, 22 insertions(+), 4 deletions(-)
---
diff --git a/plague-0.4.5.8-wakeup-serve_forever.patch b/plague-0.4.5.8-wakeup-serve_forever.patch
index c2774da..bce7e96 100644
--- a/plague-0.4.5.8-wakeup-serve_forever.patch
+++ b/plague-0.4.5.8-wakeup-serve_forever.patch
@@ -1,6 +1,24 @@
+diff -Nur plague-0.4.5.8-orig/builder/builder.py plague-0.4.5.8/builder/builder.py
+--- plague-0.4.5.8-orig/builder/builder.py	2010-05-05 12:45:20.000000000 +0200
++++ plague-0.4.5.8/builder/builder.py	2013-04-22 15:35:24.683026931 +0200
+@@ -799,6 +799,14 @@
+     log("Received SIGTERM, quitting...\n")
+     bserver.stop()
+ 
++    host = bserver.server_name
++    port = bserver.server_port
++    print "Sending fake request to %s:%s to trigger shutdown..." % (host, port)
++    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
++    s.connect((host, port))
++    s.send('WANNAQUIT')
++    s.close()
++
+ def main():
+     global bserver
+ 
 diff -Nur plague-0.4.5.8-orig/server/main.py plague-0.4.5.8/server/main.py
 --- plague-0.4.5.8-orig/server/main.py	2008-01-31 14:28:05.000000000 +0100
-+++ plague-0.4.5.8/server/main.py	2013-04-22 15:16:36.932683928 +0200
++++ plague-0.4.5.8/server/main.py	2013-04-22 15:36:00.412107870 +0200
 @@ -68,6 +68,14 @@
      print "Received SIGTERM, quitting..."
      bm_server.stop()
diff --git a/plague.spec b/plague.spec
index cf2b464..751923e 100644
--- a/plague.spec
+++ b/plague.spec
@@ -25,7 +25,7 @@ Patch2: plague-0.4.5.8-filter-results.patch
 Patch3: plague-0.4.5.8-prep-srpm-error.patch
 # Typo in email error message.
 Patch4: plague-0.4.5.8-emailutils.patch
-# Send a fake request to break out of the bm_server serve_forever loop.
+# Send a fake request to break out of the serve_forever loops.
 # This may avoid polling select() but causes an SSL error message in the log.
 Patch5: plague-0.4.5.8-wakeup-serve_forever.patch
 
@@ -189,8 +189,8 @@ mkdir -p $RPM_BUILD_ROOT/var/lib/plague/builder
 
 %changelog
 * Mon Apr 22 2013 Michael Schwendt <mschwendt at fedoraproject.org> - 0.4.5.8-14
-- Patch server to send a fake request in SIGTERM exit handler to end the
-  serve_forever loop.
+- Patch server and builder to send a fake request in SIGTERM exit handler
+  to end the serve_forever loop.
 - Also add Requires=rpcbind.service in systemd files.
 - Fix typo in EmailUtils.py error message.
 


More information about the scm-commits mailing list