From 6c1ef363e42df58aa35872ecb1f712cea95eb8af Mon Sep 17 00:00:00 2001
From: Ramin Yaghoubzadeh <ryaghoubzadeh@uni-bielefeld.de>
Date: Mon, 17 Feb 2014 15:48:56 +0100
Subject: [PATCH] scripts: circumvented Windows not terminating scripts on
 Ctrl-C

---
 ipaacatools/scripts/ipaaca-iu-injector.py | 38 +++++++++++++++--------
 ipaacatools/scripts/ipaaca-iu-sniffer.py  | 15 +++++++--
 2 files changed, 38 insertions(+), 15 deletions(-)

diff --git a/ipaacatools/scripts/ipaaca-iu-injector.py b/ipaacatools/scripts/ipaaca-iu-injector.py
index b6a56de..344bade 100755
--- a/ipaacatools/scripts/ipaaca-iu-injector.py
+++ b/ipaacatools/scripts/ipaaca-iu-injector.py
@@ -33,6 +33,8 @@
 import logging
 import sys
 import time
+import os
+import platform
 
 import ipaaca
 
@@ -71,20 +73,30 @@ while len(sys.argv)>idx+1:
 	pl[sys.argv[idx]] = sys.argv[idx+1]
 	idx+=2
 
-print "Sending "+iu_class+" of category "+cate
-print " with payload "+str(pl)
+try:
+	print "Sending "+iu_class+" of category "+cate
+	print " with payload "+str(pl)
 
-ob = ipaaca.OutputBuffer('IUInjector')
-ob.register_handler(my_update_handler)
-iu_top = ipaaca.IU(cate)
-iu_top.payload = pl
-ob.add(iu_top)
-print iu_class+" sent."
+	ob = ipaaca.OutputBuffer('IUInjector')
+	ob.register_handler(my_update_handler)
+	iu_top = ipaaca.IU(cate)
+	iu_top.payload = pl
+	ob.add(iu_top)
+	print iu_class+" sent."
 
-if iu_class=="IU":
-	print "Waiting "+str(timeout)+" sec for remote modifications..."
-	time.sleep(timeout)
+	if iu_class=="IU":
+		print "Waiting "+str(timeout)+" sec for remote modifications..."
+		time.sleep(timeout)
+	else:
+		time.sleep(0.1)
+	print "done."
+
+except KeyboardInterrupt:
+	pass
+
+if platform.system() == 'Windows':
+	os._exit(0)
 else:
-	time.sleep(0.1)
-print "done."
+	sys.exit(0)
+
 
diff --git a/ipaacatools/scripts/ipaaca-iu-sniffer.py b/ipaacatools/scripts/ipaaca-iu-sniffer.py
index 9267b5d..4faa398 100755
--- a/ipaacatools/scripts/ipaaca-iu-sniffer.py
+++ b/ipaacatools/scripts/ipaaca-iu-sniffer.py
@@ -36,6 +36,8 @@ import logging
 import re
 import sys
 import time
+import os
+import platform
 
 import ipaaca
 
@@ -122,5 +124,14 @@ else:
 	for cat in cats:
 		print('\t' + cat)
 print('')
-while True:
-	time.sleep(1)
+try:
+	while True:
+		time.sleep(1)
+except KeyboardInterrupt:
+	pass
+
+if platform.system() == 'Windows':
+	os._exit(0)
+else:
+	sys.exit(0)
+
-- 
GitLab