You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
452 B
28 lines
452 B
// +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
|
|
}
|
|
|