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:
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)
}