pvl.irker-syslog: close syslog on irker EOF
authorTero Marttila <terom@paivola.fi>
Sun, 13 Jan 2013 13:05:04 +0200
changeset 140 84b6db638131
parent 139 515b74c6b456
child 141 54512ece5465
pvl.irker-syslog: close syslog on irker EOF
bin/pvl.irker-syslog
--- a/bin/pvl.irker-syslog	Sun Jan 13 13:04:51 2013 +0200
+++ b/bin/pvl.irker-syslog	Sun Jan 13 13:05:04 2013 +0200
@@ -85,9 +85,11 @@
         else :
             print tag, text
 
-def shutdown_irker (irker) :
+def close_irker (irker) :
     """
         Shutdown irker before quitting.
+
+        XXX: irker.close() to disconnect?
     """
     
     log.info("Shutting down IRK...")
@@ -96,6 +98,15 @@
         log.warn("%s", target)
         del irker[target]
 
+def close_syslog (syslog) :
+    """
+        Shutdown syslog before quitting
+    """
+    
+    # XXX: do all sources support close()?
+    log.warn("%s", syslog)
+    syslog.close()
+
 def main (argv) :
     options, args = parse_options(argv)
     
@@ -128,7 +139,10 @@
 
         except EOFError as ex :
             log.error("syslog: EOF")
-            shutdown_irker(irker)
+
+            close_irker(irker)
+            
+            # 0 is controlled exit
             return 0
 
         # quit unless we have something to poll
@@ -149,9 +163,12 @@
                 apply_irker(irker)
 
             except EOFError :
+                log.error("irk: EOF")
+                
+                close_syslog(syslog)
+
                 # exit 0, so as to restart sooner
                 # XXX: maybe use a special exit code instead?
-                log.error("irk: EOF")
                 return 0
      
     # done