| Ticket UUID: | f3e96942ed0123799d269adbcfa39bb1c1895058 | |||
| Title: | macOS: TkpInit replaces the SIGINT, SIGHUP and SIGTERM handlers of the application which embeds Tk | |||
| Type: | Bug | Version: | trunk | |
| Submitter: | Created on: | 2026-09-17 10:08:57 | ||
| Subsystem: | 66. Aqua Window Operations | Assigned To: | aku | |
| Priority: | 1 Zero | Severity: | Important | |
| Status: | Closed | Last Modified: | 2026-09-22 07:04:54 | |
| Resolution: | Fixed | Closed By: | jan.nijtmans | |
| Closed on: | 2026-09-22 07:04:54 | |||
| Description: |
Since [d69b5cecd5] (fix for [c2483bfe4b]), `TkpInit()` on macOS installs `TkMacOSXSignalHandler`, which calls `Tcl_Exit(1)`, for SIGINT, SIGHUP and SIGTERM. It does this unconditionally, so it also replaces handlers installed by the application which embeds Tk. In Python, the SIGINT handler raises `KeyboardInterrupt`. Once a Tk window has been created, Ctrl-C (or SIGINT sent with `pthread_kill()`, which IDLE is going to use to interrupt user code) silently terminates the process with exit status 1 instead. Python-level SIGTERM and SIGHUP handlers stop working as well. Branch mac-signal-handlers ([87fa518cee]) installs the Tk handler only if the previous disposition is `SIG_DFL`, so `wish` behaves as before. | |||
| User Comments: |
jan.nijtmans added on 2026-09-22 07:04:54:
Dup of [989b1ccb98]. Fixed and closed. | |||
Home
Timeline
Branches
Tags
Forum
Tickets
Download
Wiki