aboutsummaryrefslogtreecommitdiff
path: root/src/os/root_openat.go
diff options
context:
space:
mode:
authorCarlos Amedee <carlos@golang.org>2025-07-16 12:05:48 -0700
committerCarlos Amedee <carlos@golang.org>2025-07-18 14:43:56 -0700
commit0451816430486a25966dd76aa92735ac0588b8e5 (patch)
tree51eba396bfe6a0f1d28295c62f4d69dd1e8ad994 /src/os/root_openat.go
parent34b70684ba2fc8c5cba900e9abdfb874c1bd8c0e (diff)
downloadgo-0451816430486a25966dd76aa92735ac0588b8e5.tar.xz
os: revert the use of AddCleanup to close files and roots
This reverts commit fdaac84480b02e600660d0ca7c15339138807107. Updates #70907 Updates #74574 Updates #74642 Reason for revert: Issue #74574 Change-Id: I7b55b85736e4210d9b6f3fd7a24050ac7bdefef9 Reviewed-on: https://go-review.googlesource.com/c/go/+/688435 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/os/root_openat.go')
-rw-r--r--src/os/root_openat.go13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/os/root_openat.go b/src/os/root_openat.go
index 192c29e319..e433bd5093 100644
--- a/src/os/root_openat.go
+++ b/src/os/root_openat.go
@@ -22,11 +22,10 @@ type root struct {
// refs is incremented while an operation is using fd.
// closed is set when Close is called.
// fd is closed when closed is true and refs is 0.
- mu sync.Mutex
- fd sysfdType
- refs int // number of active operations
- closed bool // set when closed
- cleanup runtime.Cleanup // cleanup closes the file when no longer referenced
+ mu sync.Mutex
+ fd sysfdType
+ refs int // number of active operations
+ closed bool // set when closed
}
func (r *root) Close() error {
@@ -36,9 +35,7 @@ func (r *root) Close() error {
syscall.Close(r.fd)
}
r.closed = true
- // There is no need for a cleanup at this point. Root must be alive at the point
- // where cleanup.stop is called.
- r.cleanup.Stop()
+ runtime.SetFinalizer(r, nil) // no need for a finalizer any more
return nil
}