cluster: RHEL56 - fence_rsb: Force stdout close

Marek Grác marx at fedoraproject.org
Fri Jun 18 17:47:18 UTC 2010


Gitweb:        http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=42396b11a75672caa2c8220d76fd6fb8721cef89
Commit:        42396b11a75672caa2c8220d76fd6fb8721cef89
Parent:        5fae628d12c1c38b1d29a05bf58a2e0c4e19aec7
Author:        Marek 'marx' Grac <mgrac at redhat.com>
AuthorDate:    Fri Jun 18 18:42:58 2010 +0200
Committer:     Marek 'marx' Grac <mgrac at redhat.com>
CommitterDate: Fri Jun 18 18:42:58 2010 +0200

fence_rsb: Force stdout close

Resolves: rhbz#583040
---
 fence/agents/rsb/fence_rsb.py |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

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="])


More information about the cluster-commits mailing list