From bf4f51e70471a4828855f69967345c27869ad2ad Mon Sep 17 00:00:00 2001 From: Sofia Rodrigues Date: Tue, 17 Mar 2026 20:02:01 -0300 Subject: [PATCH] fix: windows build for signal handlers (#12955) This PR fixes the windows build with signal handlers. --- src/runtime/uv/signal.cpp | 9 ++++++--- stage0/src/runtime/uv/signal.cpp | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/runtime/uv/signal.cpp b/src/runtime/uv/signal.cpp index 1eb0f40384..ae8b695a6a 100644 --- a/src/runtime/uv/signal.cpp +++ b/src/runtime/uv/signal.cpp @@ -75,12 +75,14 @@ extern "C" LEAN_EXPORT lean_obj_res lean_uv_signal_mk(uint32_t signum_obj, uint8 case 1: signum = SIGHUP; break; case 2: signum = SIGINT; break; case 3: signum = SIGQUIT; break; - case 5: signum = SIGTRAP; break; case 6: signum = SIGABRT; break; + case 15: signum = SIGTERM; break; + case 28: signum = SIGWINCH; break; +#ifndef LEAN_WINDOWS + case 5: signum = SIGTRAP; break; case 10: signum = SIGUSR1; break; case 12: signum = SIGUSR2; break; case 14: signum = SIGALRM; break; - case 15: signum = SIGTERM; break; case 17: signum = SIGCHLD; break; case 18: signum = SIGCONT; break; case 20: signum = SIGTSTP; break; @@ -91,9 +93,10 @@ extern "C" LEAN_EXPORT lean_obj_res lean_uv_signal_mk(uint32_t signum_obj, uint8 case 25: signum = SIGXFSZ; break; case 26: signum = SIGVTALRM; break; case 27: signum = SIGPROF; break; - case 28: signum = SIGWINCH; break; case 29: signum = SIGIO; break; case 31: signum = SIGSYS; break; +#endif + default: signum = 0; break; } lean_uv_signal_object * signal = (lean_uv_signal_object*)malloc(sizeof(lean_uv_signal_object)); diff --git a/stage0/src/runtime/uv/signal.cpp b/stage0/src/runtime/uv/signal.cpp index 1eb0f40384..ae8b695a6a 100644 --- a/stage0/src/runtime/uv/signal.cpp +++ b/stage0/src/runtime/uv/signal.cpp @@ -75,12 +75,14 @@ extern "C" LEAN_EXPORT lean_obj_res lean_uv_signal_mk(uint32_t signum_obj, uint8 case 1: signum = SIGHUP; break; case 2: signum = SIGINT; break; case 3: signum = SIGQUIT; break; - case 5: signum = SIGTRAP; break; case 6: signum = SIGABRT; break; + case 15: signum = SIGTERM; break; + case 28: signum = SIGWINCH; break; +#ifndef LEAN_WINDOWS + case 5: signum = SIGTRAP; break; case 10: signum = SIGUSR1; break; case 12: signum = SIGUSR2; break; case 14: signum = SIGALRM; break; - case 15: signum = SIGTERM; break; case 17: signum = SIGCHLD; break; case 18: signum = SIGCONT; break; case 20: signum = SIGTSTP; break; @@ -91,9 +93,10 @@ extern "C" LEAN_EXPORT lean_obj_res lean_uv_signal_mk(uint32_t signum_obj, uint8 case 25: signum = SIGXFSZ; break; case 26: signum = SIGVTALRM; break; case 27: signum = SIGPROF; break; - case 28: signum = SIGWINCH; break; case 29: signum = SIGIO; break; case 31: signum = SIGSYS; break; +#endif + default: signum = 0; break; } lean_uv_signal_object * signal = (lean_uv_signal_object*)malloc(sizeof(lean_uv_signal_object));