Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
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 |
|
}
|
|
|