Mercurial > public > mercurial-scm > hg
comparison mercurial/worker.py @ 18908:779e3d9b7a1d
worker: catch all exceptions, try to exit usefully/safely
author | Bryan O'Sullivan <bryano@fb.com> |
---|---|
date | Thu, 11 Apr 2013 13:30:31 -0700 |
parents | 9955fc5ee24b |
children | 05d5821e0dc8 |
comparison
equal
deleted
inserted
replaced
18907:af9fa8d4c939 | 18908:779e3d9b7a1d |
---|---|
87 for i, item in func(*(staticargs + (pargs,))): | 87 for i, item in func(*(staticargs + (pargs,))): |
88 os.write(wfd, '%d %s\n' % (i, item)) | 88 os.write(wfd, '%d %s\n' % (i, item)) |
89 os._exit(0) | 89 os._exit(0) |
90 except KeyboardInterrupt: | 90 except KeyboardInterrupt: |
91 os._exit(255) | 91 os._exit(255) |
92 except: # re-raises (close enough for debugging anyway) | |
93 try: | |
94 ui.traceback() | |
95 finally: | |
96 os._exit(255) | |
92 pids.append(pid) | 97 pids.append(pid) |
93 pids.reverse() | 98 pids.reverse() |
94 os.close(wfd) | 99 os.close(wfd) |
95 fp = os.fdopen(rfd, 'rb', 0) | 100 fp = os.fdopen(rfd, 'rb', 0) |
96 def killworkers(): | 101 def killworkers(): |