Zig Version
0.16.0-dev.1569+db15df5da
Steps to Reproduce and Observed Behavior
- Initialize a new project with
zig init
- Run
zig build --watch -fincremental and keep it open
- While having the previous command running, also run
zig build --zig-lib-dir /path/to/different/std. The standard library path used here has to be a different one compared to what is used in the previous step.
The zig build --zig-lib-dir process will never terminate while the progress output is stuck with the following:
[4] Compile Build Script
├─ [1/16113] Linking
└─ compiler_rt
Running lslocks | grep zig outputs something similar to this:
zig 42556 FLOCK 75,4K WRITE* 0 0 0 /home/techatrix/.cache/zig/h/6dbf92093ebbe427196353a8185a66dd.txt
zig 41811 FLOCK 75,4K READ 0 0 0 /home/techatrix/.cache/zig/h/6dbf92093ebbe427196353a8185a66dd.txt
zig 42556 FLOCK 75,9K WRITE 0 0 0 /home/techatrix/zig-testspace/.zig-cache/h/3ce4e4ad0c5734fff7ccf7bed19c7576.txt
41811 -> zig build --watch -fincremental
42556 -> zig build --zig-lib-dir
When manually closing the zig build --watch -fincremental process, the other process will finish.
Expected Behavior
The zig build --watch -fincremental process should eventually release all of its lock while waiting for filesystem changes so that other processes can make progress.
Possible related issue: https://github.com/ziglang/zig/issues/22453
### Zig Version
0.16.0-dev.1569+db15df5da
### Steps to Reproduce and Observed Behavior
1. Initialize a new project with `zig init`
2. Run `zig build --watch -fincremental` and keep it open
3. While having the previous command running, also run `zig build --zig-lib-dir /path/to/different/std`. The standard library path used here has to be a different one compared to what is used in the previous step.
The `zig build --zig-lib-dir` process will never terminate while the progress output is stuck with the following:
```
[4] Compile Build Script
├─ [1/16113] Linking
└─ compiler_rt
```
Running `lslocks | grep zig` outputs something similar to this:
```
zig 42556 FLOCK 75,4K WRITE* 0 0 0 /home/techatrix/.cache/zig/h/6dbf92093ebbe427196353a8185a66dd.txt
zig 41811 FLOCK 75,4K READ 0 0 0 /home/techatrix/.cache/zig/h/6dbf92093ebbe427196353a8185a66dd.txt
zig 42556 FLOCK 75,9K WRITE 0 0 0 /home/techatrix/zig-testspace/.zig-cache/h/3ce4e4ad0c5734fff7ccf7bed19c7576.txt
```
41811 -> `zig build --watch -fincremental`
42556 -> `zig build --zig-lib-dir`
When manually closing the `zig build --watch -fincremental` process, the other process will finish.
### Expected Behavior
The `zig build --watch -fincremental` process should eventually release all of its lock while waiting for filesystem changes so that other processes can make progress.
Possible related issue: https://github.com/ziglang/zig/issues/22453