| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace three separate RwLocks (m_PendingLock, m_RunningLock,
m_ResultsLock) with a single m_ActionMapLock guarding all three action
maps. This eliminates lock-ordering requirements and prevents actions
from being temporarily absent from all maps during state transitions.
Additionally, insert actions into m_PendingActions immediately during
EnqueueResolvedAction so they are visible to GetActionResult and
FindActionResult right away, without waiting for the scheduler thread
to process the update. Previously, eager clients could get a spurious
404 if they queried before the scheduler's HandleActionUpdates ran.
Also adds debug logging for worker manifest, process launch and exit
on Windows, and ANSI color helper macros for log formatting.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add "Crash" function to zentest-appstub with two modes: "abort"
(std::abort) and "nullptr" (null pointer dereference) for testing
hard process crashes
- Add job object to WindowsProcessRunner that assigns all child
processes, configured with:
- JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION to suppress WER dialogs
- JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE for cleanup on runner teardown
- JOB_OBJECT_UILIMIT_ERRORMODE to prevent children from clearing
the inherited SEM_NOGPFAULTERRORBOX error mode
- Create child processes suspended so job assignment takes effect
before any code runs
- Add three new test cases:
- crash.abort: std::abort() results in failed action
- crash.nullptr: null pointer dereference results in failed action
- crash.auto_retry: crashed actions are retried correctly
|
|
|
- Added local process runners for Linux/Wine, Mac with some sandboxing support
- Horde & Nomad provisioning for development and testing
- Client session queues with lifecycle management (active/draining/cancelled), automatic retry with configurable limits, and manual reschedule API
- Improved web UI for orchestrator, compute, and hub dashboards with WebSocket push updates
- Some security hardening
- Improved scalability and `zen exec` command
Still experimental - compute support is disabled by default
|