1
0
mirror of https://github.com/golang/go synced 2024-11-15 09:40:34 -07:00
This commit is contained in:
Anuraag Agrawal 2024-06-06 13:21:02 +09:00
parent 96b4fd7719
commit 878bf3fde7

View File

@ -377,10 +377,11 @@ func blockUntilEmptyFinalizerQueue(timeout int64) bool {
// In order to use finalizers correctly, the program must ensure that
// the object is reachable until it is no longer required.
// Objects stored in global variables, or that can be found by tracing
// pointers from a global variable, are reachable. For other objects,
// including receivers, pass the object to a call of the [KeepAlive]
// function to mark the last point in the function where the object must
// be reachable.
// pointers from a global variable, are reachable. A function argument or
// receiver may become unreachable at the last point where the function
// mentions it. To make an unreachable object reachable, pass the object
// to a call of the [KeepAlive] function to mark the last point in the
// function where the object must be reachable.
//
// For example, if p points to a struct, such as os.File, that contains
// a file descriptor d, and p has a finalizer that closes that file