Log message for revision 68974: Issue 2113: testrunner ignoring Ctrl-C. Changed: U Zope/trunk/doc/CHANGES.txt U Zope/trunk/lib/python/Zope2/Startup/zopectl.py
-=- Modified: Zope/trunk/doc/CHANGES.txt =================================================================== --- Zope/trunk/doc/CHANGES.txt 2006-07-05 14:32:19 UTC (rev 68973) +++ Zope/trunk/doc/CHANGES.txt 2006-07-05 14:40:45 UTC (rev 68974) @@ -27,6 +27,8 @@ Bugs Fixed + - Collector #2113: 'zopectl test' masked Ctrl-C. + - OFS Image: Image and File updated to use isinstance(data, str) and raises TypeError upon encountering unicode objects. @@ -47,4 +49,4 @@ http://codespeak.net/pipermail/z3-five/2006q2/001474.html - The defaultView directive now only looks up views, not attributes. - \ No newline at end of file + Modified: Zope/trunk/lib/python/Zope2/Startup/zopectl.py =================================================================== --- Zope/trunk/lib/python/Zope2/Startup/zopectl.py 2006-07-05 14:32:19 UTC (rev 68973) +++ Zope/trunk/lib/python/Zope2/Startup/zopectl.py 2006-07-05 14:40:45 UTC (rev 68974) @@ -258,14 +258,20 @@ pid = os.fork() if pid == 0: # child os.execv(self.options.python, args) - else: - os.waitpid(pid, 0) + + # Parent process running (execv replaces process in child + while True: + try: + os.waitpid(pid, 0) + except (OSError, KeyboardInterrupt): + continue + else: + break def help_test(self): print "test [args]+ -- run unit / functional tests." print " See $ZOPE_HOME/bin/test.py --help for syntax." - def main(args=None): # This is exactly like zdctl.main(), but uses ZopeCtlOptions and # ZopeCmd instead of ZDCtlOptions and ZDCmd, so the default values _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org http://mail.zope.org/mailman/listinfo/zope-checkins