mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-28 18:59:04 +08:00
* Align signal wakeup error handling with Python 3.15 Assisted-by: OpenAI Codex:model version unavailable * Preserve CRT error state during signal wakeup writes Assisted-by: OpenAI Codex:model version unavailable * Represent nullable Windows CRT parameter handlers safely Assisted-by: OpenAI Codex:model version unavailable * Rework signal wakeup error delivery to follow signalmodule.c - Report pending wakeup write/send errors after Python signal handlers and VM pending calls, and re-arm the eval breaker when a handler or pending call raises. - Save and restore errno once in run_signal around trip_signal instead of inside each write path; stop preserving _doserrno. - Add crt_fd::write_noraise and use it for the Unix and Windows wakeup writes, sharing the single-write helper with _write. - Keep pending wakeup errors across fork. - Revert the suppress_iph handler type change and the unrelated quote change in test_signal. Assisted-by: Claude Code:claude-opus-5-5 * Represent nullable Windows CRT parameter handlers as Option _set_thread_local_invalid_parameter_handler takes and returns a nullable function pointer; declare it as Option<InvalidParamHandler> so a NULL previous handler is restored as None. Assisted-by: Claude Code:claude-opus-5-5 --------- Co-authored-by: Jeong YunWon <jeong@youknowone.org>