github.com/ydb-platform/ydb-go-sdk/v3@v3.89.2/internal/xsync/last_usage_guard_start.go (about)

     1  package xsync
     2  
     3  import (
     4  	"sync"
     5  )
     6  
     7  func (guard *lastUsage) Start() (stop func()) {
     8  	guard.locks.Add(1)
     9  
    10  	return sync.OnceFunc(func() {
    11  		if guard.locks.Add(-1) == 0 {
    12  			now := guard.clock.Now()
    13  			guard.t.Store(&now)
    14  		}
    15  	})
    16  }