diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-05-11 08:26:23 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-05-11 09:54:28 +0200 |
commit | 7f3eeeb39c34903f2bd709a78287bc2b655b062c (patch) | |
tree | 0b49937f26f7b426366a5e6384a37566b6cfb95b /Cargo.toml | |
parent | 8cf287dd93f95775787b3a83500fee23cd8f07db (diff) |
Fix: Do not return "dependencies missing" error on closed channel
This patch fixes the implementation of the perform_receive() helper function to
return Ok(false) if the channel was closed (recv() returned None) and there are
already errors in the error buffer.
This case wasn't taken care of before, which resulted in the inconveniance that
the channel was closed but if a task still performed a receive, it got a `None`,
checked its dependencies and noted that there were dependencies missing.
This resulted in a "Childs finished, but dependencies missing" error being
printed to the user.
This is not the case, though.
This fix changes the implementation so that the `perform_receive()` function
simply returns a `Ok(false)` if the channel was closed and there were errors.
The call to the function was hence moved _after_ the check whether errors were
received (in the caller), so that these errors are propagated appropriately.
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
(cherry picked from commit 338ea0827c6d6ab0ac41b35a7bd066c528c5c811)
Diffstat (limited to 'Cargo.toml')
0 files changed, 0 insertions, 0 deletions