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