diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-04-19 18:24:11 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-04-19 18:24:11 +0900 |
| commit | 753432cf09ac81fbfd9b5357ba6112f0d027c55d (patch) | |
| tree | c9ef6cee4064ae26009f5f002ea8afd8acfeec21 /cmd/mbf/daemon.go | |
| parent | f8902e3679f98356d2e2e01fce9a8bad56c76db8 (diff) | |
cmd/mbf: optionally wait for cancel
Synchronisation is not needed here during interactive use.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd/mbf/daemon.go')
| -rw-r--r-- | cmd/mbf/daemon.go | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/cmd/mbf/daemon.go b/cmd/mbf/daemon.go index c0b9e73a..d694bea0 100644 --- a/cmd/mbf/daemon.go +++ b/cmd/mbf/daemon.go @@ -305,6 +305,7 @@ func cancelRemote( ctx context.Context, addr *net.UnixAddr, a pkg.Artifact, + wait bool, ) error { done, conn, err := dial(ctx, addr) if err != nil { @@ -323,8 +324,10 @@ func cancelRemote( } else if n != len(id) { return errors.Join(io.ErrShortWrite, conn.Close()) } - if _, err = conn.Read(make([]byte, 1)); err == io.EOF { - err = nil + if wait { + if _, err = conn.Read(make([]byte, 1)); err == io.EOF { + err = nil + } } return errors.Join(err, conn.Close()) } @@ -333,6 +336,7 @@ func cancelRemote( func abortRemote( ctx context.Context, addr *net.UnixAddr, + wait bool, ) error { done, conn, err := dial(ctx, addr) if err != nil { @@ -341,7 +345,7 @@ func abortRemote( defer close(done) err = writeSpecialHeader(conn, specialAbort) - if err == nil { + if wait && err == nil { if _, err = conn.Read(make([]byte, 1)); err == io.EOF { err = nil } |
