PaSh overly simplifies scheduling constraints on scripts (waits for a all commands to finish instead of one)
- Dominant language
- Shell
- Stars
- 601
- Forks
- 52
- PR merge metrics
- No merged PRs in 30d
Description
There is a bug in our compiler's compilation...
At the moment we compile the following:
```sh
cmd1 &
cmd2
```
to a dataflow with two nodes (cmd1, cmd2). Then we would compile this to a parallel script waiting for its outputs to be done.
```sh
cmd1 &
cmd2 &
wait
```
However, this adds additional dependencies and constraints in the final parallel script, because we wait for *both* cmd1 and cmd2 to finish. A way to solve this, would be to know exactly for which nodes in the final graph we wait for. by keeping this information from the original script.
This is not a terrible issue for the system (and can probably be solved in a hacky way), but it is a problem with the formal development related to PaSh.
First, we need to make some tests that show this issue and then we can solve it by keeping information about which nodes in the graph we wait for or we don't wait for. Then we need to figure out how to parallelize nodes that we need to wait for.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.