aboutsummaryrefslogtreecommitdiffhomepage
path: root/cmd/mbf/daemon.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-04-19 18:24:11 +0900
committerOphestra <cat@gensokyo.uk>2026-04-19 18:24:11 +0900
commit753432cf09ac81fbfd9b5357ba6112f0d027c55d (patch)
treec9ef6cee4064ae26009f5f002ea8afd8acfeec21 /cmd/mbf/daemon.go
parentf8902e3679f98356d2e2e01fce9a8bad56c76db8 (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.go10
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
}