Skip to content

Commit 8ef9fe2

Browse files
fix: check platform compat for windows signals
1 parent 807f971 commit 8ef9fe2

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

lib/crewai/src/crewai/events/types/system_events.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ class SignalType(IntEnum):
1919

2020
SIGTERM = signal.SIGTERM
2121
SIGINT = signal.SIGINT
22-
SIGHUP = signal.SIGHUP
23-
SIGTSTP = signal.SIGTSTP
24-
SIGCONT = signal.SIGCONT
22+
SIGHUP = getattr(signal, "SIGHUP", 1)
23+
SIGTSTP = getattr(signal, "SIGTSTP", 20)
24+
SIGCONT = getattr(signal, "SIGCONT", 18)
2525

2626

2727
class SigTermEvent(BaseEvent):

lib/crewai/src/crewai/telemetry/telemetry.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -174,9 +174,12 @@ def _register_shutdown_handlers(self) -> None:
174174

175175
self._register_signal_handler(signal.SIGTERM, SigTermEvent, shutdown=True)
176176
self._register_signal_handler(signal.SIGINT, SigIntEvent, shutdown=True)
177-
self._register_signal_handler(signal.SIGHUP, SigHupEvent, shutdown=False)
178-
self._register_signal_handler(signal.SIGTSTP, SigTStpEvent, shutdown=False)
179-
self._register_signal_handler(signal.SIGCONT, SigContEvent, shutdown=False)
177+
if hasattr(signal, "SIGHUP"):
178+
self._register_signal_handler(signal.SIGHUP, SigHupEvent, shutdown=False)
179+
if hasattr(signal, "SIGTSTP"):
180+
self._register_signal_handler(signal.SIGTSTP, SigTStpEvent, shutdown=False)
181+
if hasattr(signal, "SIGCONT"):
182+
self._register_signal_handler(signal.SIGCONT, SigContEvent, shutdown=False)
180183

181184
def _register_signal_handler(
182185
self,

lib/crewai/tests/events/types/test_system_events.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ def test_signal_type_values(self) -> None:
2727
"""Verify SignalType maps to correct signal numbers."""
2828
assert SignalType.SIGTERM == signal.SIGTERM
2929
assert SignalType.SIGINT == signal.SIGINT
30-
assert SignalType.SIGHUP == signal.SIGHUP
31-
assert SignalType.SIGTSTP == signal.SIGTSTP
32-
assert SignalType.SIGCONT == signal.SIGCONT
30+
assert SignalType.SIGHUP == getattr(signal, "SIGHUP", 1)
31+
assert SignalType.SIGTSTP == getattr(signal, "SIGTSTP", 20)
32+
assert SignalType.SIGCONT == getattr(signal, "SIGCONT", 18)
3333

3434

3535
class TestSignalEvents:

0 commit comments

Comments
 (0)