Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > d236c5da97a239a1b6991cfba2865b66 > files > 75

cman-2.0.115-68.el5_6.1.src.rpm

commit 42396b11a75672caa2c8220d76fd6fb8721cef89
Author: Marek 'marx' Grac <mgrac@redhat.com>
Date:   Fri Jun 18 18:42:58 2010 +0200

    fence_rsb: Force stdout close
    
    Resolves: rhbz#583040

diff --git a/fence/agents/rsb/fence_rsb.py b/fence/agents/rsb/fence_rsb.py
index cb4f436..4ef4cf3 100755
--- a/fence/agents/rsb/fence_rsb.py
+++ b/fence/agents/rsb/fence_rsb.py
@@ -17,6 +17,7 @@ import getopt, sys
 import os
 import socket
 import time
+import atexit
 
 from telnetlib import Telnet
 
@@ -53,6 +54,14 @@ def version():
   print "%s\n" % REDHAT_COPYRIGHT
   sys.exit(0)
 
+def atexit_handler():
+	try:
+		sys.stdout.close()
+		os.close(1)
+	except IOError:
+		sys.stderr.write("%s failed to close standard output\n"%(sys.argv[0]))
+		sys.exit(1)
+
 def main():
   depth = 0
   POWER_OFF = 0
@@ -100,6 +109,8 @@ def main():
   regex_list.append("really want to")
   regex_list.append("CLOSING TELNET CONNECTION")
 
+  atexit.register(atexit_handler)
+
   if len(sys.argv) > 1:
     try:
       opts, args = getopt.getopt(sys.argv[1:], "a:hl:n:o:p:S:vV", ["help", "output="])