Files
BrianHotopp d0960b8fa6 [2.0.x] fix: Complete earlyOutputPing on cache-hit and failed compiles (#9542)
With usePipelining enabled, earlyOutputPing was completed only as a side
effect of zinc reporting progress mid-compile (CompileProgress.afterEarlyOutput
via writeEarlyOut / notifyNoEarlyOut in zinc-core). On an action-cache hit zinc
never runs, and on a failed compile it never reports, so the promise stayed
unfulfilled and every task waiting on it - compileEarly and makePickleProducts
across downstream pipelined projects - parked forever. A warm compile;compile
on a multi-module build hung indefinitely (#9486).

The compile task now completes the ping on every resolution path. Zinc's own
completion still wins when zinc ran (tryComplete is atomic, so it can never
pre-empt it); a cache hit completes it from the pickle jar's presence on disk
(absent jar means downstream falls back to a full compile, which is the correct
degradation); a failed compile completes it false so waiters take the full
compile path and propagate the failure instead of hanging.

Generated-by: kimi-code/k3 (Oh My Pi)
2026-08-03 16:29:01 -04:00
..
2025-02-04 01:11:28 -05:00
2025-02-04 01:11:28 -05:00
2019-09-05 14:11:13 -04:00
2019-09-05 14:11:04 -04:00
2025-02-04 01:11:28 -05:00
2019-09-05 14:11:04 -04:00
2019-09-05 14:11:13 -04:00
2019-09-05 14:11:13 -04:00
2025-02-04 01:11:28 -05:00
2019-09-05 14:11:04 -04:00
2025-02-04 01:11:28 -05:00
2025-02-04 01:11:28 -05:00
2019-09-05 14:11:04 -04:00
2019-09-05 14:11:13 -04:00