Gitweb:
http://git.fedorahosted.org/git/cluster.git?p=cluster.git;a=commitdiff;h=...
Commit: 42396b11a75672caa2c8220d76fd6fb8721cef89
Parent: 5fae628d12c1c38b1d29a05bf58a2e0c4e19aec7
Author: Marek 'marx' Grac <mgrac(a)redhat.com>
AuthorDate: Fri Jun 18 18:42:58 2010 +0200
Committer: Marek 'marx' Grac <mgrac(a)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="])