diff --git a/src/Context/ProcessContext.php b/src/Context/ProcessContext.php index 64fca30..30658ff 100644 --- a/src/Context/ProcessContext.php +++ b/src/Context/ProcessContext.php @@ -7,6 +7,7 @@ use Amp\ByteStream\WritableResourceStream; use Amp\Cancellation; use Amp\Parallel\Context\Internal\AbstractContext; +use Amp\Parallel\Context\Internal\ExitFailure; use Amp\Parallel\Ipc\IpcHub; use Amp\Process\Process; use Amp\Process\ProcessException; @@ -281,7 +282,7 @@ public function join(?Cancellation $cancellation = null): mixed $data = $this->receiveExitResult($cancellation); $code = $this->process->join(); - if ($code !== 0) { + if ($code !== 0 && !($data instanceof ExitFailure)) { throw new ContextException(\sprintf("Context exited with code %d", $code)); }