lib9p

Go 9P library.
Log | Files | Refs | LICENSE

commit 9dcc186047d9863578b9ec63ef4751eb15882663
parent 8a1874c1406a36c8064378df09840e875c259ee3
Author: Matsuda Kenji <info@mtkn.jp>
Date:   Fri,  3 Nov 2023 11:16:04 +0900

call file.Close when clunk is evoked

Diffstat:
Mserver.go | 6+++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/server.go b/server.go @@ -719,12 +719,16 @@ func rWrite(r *Req, err error) { func sClunk(ctx context.Context, s *Server, r *Req) { ifcall := r.Ifcall.(*TClunk) - _, ok := s.fPool.lookup(ifcall.Fid) + fid, ok := s.fPool.lookup(ifcall.Fid) if !ok { Respond(ctx, r, ErrUnknownFid) return } s.fPool.delete(ifcall.Fid) + if err := fid.File.Close(); err != nil { + Respond(ctx, r, fmt.Errorf("close: %v")) + return + } r.Ofcall = &RClunk{} Respond(ctx, r, nil) }