aboutsummaryrefslogtreecommitdiff
path: root/weed/mount/weedfs_file_lseek.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/mount/weedfs_file_lseek.go')
-rw-r--r--weed/mount/weedfs_file_lseek.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/mount/weedfs_file_lseek.go b/weed/mount/weedfs_file_lseek.go
index 73564fdbe..a7e3a2b46 100644
--- a/weed/mount/weedfs_file_lseek.go
+++ b/weed/mount/weedfs_file_lseek.go
@@ -58,10 +58,14 @@ func (wfs *WFS) Lseek(cancel <-chan struct{}, in *fuse.LseekIn, out *fuse.LseekO
// Create a context that will be cancelled when the cancel channel receives a signal
ctx, cancelFunc := context.WithCancel(context.Background())
+ defer cancelFunc() // Ensure cleanup
+
go func() {
select {
case <-cancel:
cancelFunc()
+ case <-ctx.Done():
+ // Clean exit when lseek operation completes
}
}()