diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-04-19 14:53:28 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-04-19 14:53:28 +0900 |
| commit | 9a274c78a396f3e4ad1eae54e77bc9294044d5cc (patch) | |
| tree | 134a1da7f073b050a48e50e5a4367c247112ac1c /cmd | |
| parent | 5647c3a91fb3f116235d866c5ab8af07dd91e3a4 (diff) | |
cmd/mbf: close on abort completion
This enables synchronisation on the client side via epoll.
Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/mbf/daemon.go | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/cmd/mbf/daemon.go b/cmd/mbf/daemon.go index a32ccf59..9d410588 100644 --- a/cmd/mbf/daemon.go +++ b/cmd/mbf/daemon.go @@ -194,11 +194,11 @@ func serve( } case specialAbort: + log.Println("aborting all pending cures") + cm.c.Abort() if _err := conn.Close(); _err != nil { log.Println(_err) } - log.Println("aborting all pending cures") - cm.c.Abort() } return @@ -339,5 +339,10 @@ func abortRemote( defer close(done) err = writeSpecialHeader(conn, specialAbort) + if err == nil { + if _, err = conn.Read(make([]byte, 1)); err == io.EOF { + err = nil + } + } return errors.Join(err, conn.Close()) } |
