pub fn wait(ws: *WebServer) Io.Cancelable!RunnerRequest
pub fn wait(ws: *WebServer) Io.Cancelable!RunnerRequest { const io = ws.graph.io; try ws.runner_request_mutex.lock(io); defer ws.runner_request_mutex.unlock(io); while (true) { if (ws.runner_request) |req| { ws.runner_request = null; ws.runner_request_empty_cond.signal(io); return req; } try ws.runner_request_ready_cond.wait(io, &ws.runner_request_mutex); } }