Skip to content

Commit 33a5cd5

Browse files
jamesbrinkclaude
andcommitted
fix(windows): improve win32api import handling for Windows CTRL event handling
🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 77dc580 commit 33a5cd5

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

mcp_nixos/run.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,15 +196,21 @@ def signal_handler(signum, frame):
196196
signal.signal(signal.SIGINT, signal_handler)
197197
signal.signal(signal.SIGTERM, signal_handler)
198198
# Add Windows-specific handler for CTRL events
199+
# First check if win32api is available
200+
win32api_available = False
199201
try:
200202
import win32api
201203

202-
win32api.SetConsoleCtrlHandler(
203-
lambda ctrl_type: signal_handler(signal.SIGINT, None) if ctrl_type == 0 else None, True
204-
)
204+
win32api_available = True
205205
except ImportError:
206206
# win32api not available, fallback to basic handling
207207
print("Warning: win32api not available, Windows CTRL event handling is limited")
208+
209+
# Only setup the handler if win32api is available
210+
if win32api_available:
211+
win32api.SetConsoleCtrlHandler(
212+
lambda ctrl_type: signal_handler(signal.SIGINT, None) if ctrl_type == 0 else None, True
213+
)
208214
else:
209215
# Unix signals
210216
for sig in (signal.SIGINT, signal.SIGTERM):

0 commit comments

Comments
 (0)