| 361 | old_signal_handler = None # set below |
| 362 | |
| 363 | def handler(handled_signal_number, frame): |
| 364 | # In case we catch this signal again while running atexit |
| 365 | # handlers, take the hint and actually die. |
| 366 | signal.signal(signal_number, signal.SIG_DFL) |
| 367 | sys.stderr.write( |
| 368 | "TensorBoard caught %s; exiting...\n" % signal_name |
| 369 | ) |
| 370 | # The main thread is the only non-daemon thread, so it suffices to |
| 371 | # exit hence. |
| 372 | if old_signal_handler not in (signal.SIG_IGN, signal.SIG_DFL): |
| 373 | old_signal_handler(handled_signal_number, frame) |
| 374 | sys.exit(0) |
| 375 | |
| 376 | old_signal_handler = signal.signal(signal_number, handler) |
| 377 | |