1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Use sync.RWMutex for VXLANUDPPort

Looks like concurrent reads should be possible, so use
a RWMutex instead of Mutex.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2018-11-22 21:29:20 +01:00
parent 7667c0a4b2
commit 38c8a3f84d

View file

@ -7,8 +7,8 @@ import (
)
var (
mutex sync.RWMutex
vxlanUDPPort uint32
mutex sync.Mutex
)
const defaultVXLANUDPPort = 4789
@ -19,8 +19,6 @@ func init() {
// ConfigVXLANUDPPort configures vxlan udp port number.
func ConfigVXLANUDPPort(vxlanPort uint32) error {
mutex.Lock()
defer mutex.Unlock()
// if the value comes as 0 by any reason we set it to default value 4789
if vxlanPort == 0 {
vxlanPort = defaultVXLANUDPPort
@ -33,14 +31,15 @@ func ConfigVXLANUDPPort(vxlanPort uint32) error {
if vxlanPort < 1024 || vxlanPort > 49151 {
return fmt.Errorf("ConfigVxlanUDPPort Vxlan UDP port number is not in valid range %d", vxlanPort)
}
mutex.Lock()
vxlanUDPPort = vxlanPort
mutex.Unlock()
return nil
}
// VXLANUDPPort returns Vxlan UDP port number
func VXLANUDPPort() uint32 {
mutex.Lock()
defer mutex.Unlock()
mutex.RLock()
defer mutex.RUnlock()
return vxlanUDPPort
}