MCPcopy Create free account
hub / github.com/FastLED/FastLED / _handle_stuck_processes

Function _handle_stuck_processes

ci/util/test_runner.py:1340–1369  ·  view source on GitHub ↗

Handle stuck processes reported by monitoring threads Args: stuck_signals: List of stuck process signals from monitoring threads active_processes: List of currently active processes (modified in place) failed_processes: List to track failed process commands

(
    stuck_signals: list[StuckProcessSignal],
    active_processes: list[RunningProcess],
    failed_processes: list[str],
    monitor: ProcessStuckMonitor,
)

Source from the content-addressed store, hash-verified

1338
1339
1340def _handle_stuck_processes(
1341 stuck_signals: list[StuckProcessSignal],
1342 active_processes: list[RunningProcess],
1343 failed_processes: list[str],
1344 monitor: ProcessStuckMonitor,
1345) -> None:
1346 """
1347 Handle stuck processes reported by monitoring threads
1348
1349 Args:
1350 stuck_signals: List of stuck process signals from monitoring threads
1351 active_processes: List of currently active processes (modified in place)
1352 failed_processes: List to track failed process commands
1353 monitor: The process stuck monitor instance
1354 """
1355 for signal in stuck_signals:
1356 proc = signal.process
1357 if proc in active_processes:
1358 ts_print(
1359 f"\nProcess appears stuck (no output for {signal.timeout_duration}s): {proc.command}"
1360 )
1361 ts_print("Killing stuck process and its children...")
1362 proc.kill() # This now kills the entire process tree
1363
1364 # Track this as a failure
1365 failed_processes.append(subprocess.list2cmdline(proc.command))
1366
1367 active_processes.remove(proc)
1368 monitor.stop_monitoring(proc)
1369 ts_print(f"Killed stuck process: {proc.command}")
1370
1371
1372def run_test_processes(

Callers 1

Calls 5

ts_printFunction · 0.90
killMethod · 0.80
stop_monitoringMethod · 0.80
appendMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected