// +build !go1.4 package ldap import ( "sync" ) // This is a helper type that emulates the use of the "sync/atomic.Value" // struct that's available in Go 1.4 and up. type atomicValue struct { value interface{} lock sync.RWMutex } func (av *atomicValue) Store(val interface{}) { av.lock.Lock() av.value = val av.lock.Unlock() } func (av *atomicValue) Load() interface{} { av.lock.RLock() ret := av.value av.lock.RUnlock() return ret }