Better naming of bind helpers
This commit is contained in:
parent
b5ae42349c
commit
af464cff00
11
src/conn.go
11
src/conn.go
@ -54,7 +54,7 @@ func parseEndpoint(s string) (*net.UDPAddr, error) {
|
||||
|
||||
/* Must hold device and net lock
|
||||
*/
|
||||
func unsafeCloseUDPListener(device *Device) error {
|
||||
func unsafeCloseBind(device *Device) error {
|
||||
var err error
|
||||
netc := &device.net
|
||||
if netc.bind != nil {
|
||||
@ -64,8 +64,7 @@ func unsafeCloseUDPListener(device *Device) error {
|
||||
return err
|
||||
}
|
||||
|
||||
// must inform all listeners
|
||||
func UpdateUDPListener(device *Device) error {
|
||||
func updateBind(device *Device) error {
|
||||
device.mutex.Lock()
|
||||
defer device.mutex.Unlock()
|
||||
|
||||
@ -75,7 +74,7 @@ func UpdateUDPListener(device *Device) error {
|
||||
|
||||
// close existing sockets
|
||||
|
||||
if err := unsafeCloseUDPListener(device); err != nil {
|
||||
if err := unsafeCloseBind(device); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -124,10 +123,10 @@ func UpdateUDPListener(device *Device) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func CloseUDPListener(device *Device) error {
|
||||
func closeBind(device *Device) error {
|
||||
device.mutex.Lock()
|
||||
device.net.mutex.Lock()
|
||||
err := unsafeCloseUDPListener(device)
|
||||
err := unsafeCloseBind(device)
|
||||
device.net.mutex.Unlock()
|
||||
device.mutex.Unlock()
|
||||
return err
|
||||
|
@ -210,7 +210,7 @@ func (device *Device) Close() {
|
||||
device.log.Info.Println("Closing device")
|
||||
device.RemoveAllPeers()
|
||||
close(device.signal.stop)
|
||||
CloseUDPListener(device)
|
||||
closeBind(device)
|
||||
device.tun.device.Close()
|
||||
}
|
||||
|
||||
|
@ -47,17 +47,19 @@ func (device *Device) RoutineTUNEventReader() {
|
||||
|
||||
if event&TUNEventUp != 0 {
|
||||
if !device.tun.isUp.Get() {
|
||||
// begin listening for incomming datagrams
|
||||
logInfo.Println("Interface set up")
|
||||
device.tun.isUp.Set(true)
|
||||
UpdateUDPListener(device)
|
||||
updateBind(device)
|
||||
}
|
||||
}
|
||||
|
||||
if event&TUNEventDown != 0 {
|
||||
if device.tun.isUp.Get() {
|
||||
// stop listening for incomming datagrams
|
||||
logInfo.Println("Interface set down")
|
||||
device.tun.isUp.Set(false)
|
||||
CloseUDPListener(device)
|
||||
closeBind(device)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -139,7 +139,7 @@ func ipcSetOperation(device *Device, socket *bufio.ReadWriter) *IPCError {
|
||||
return &IPCError{Code: ipcErrorInvalid}
|
||||
}
|
||||
device.net.port = uint16(port)
|
||||
if err := UpdateUDPListener(device); err != nil {
|
||||
if err := updateBind(device); err != nil {
|
||||
logError.Println("Failed to set listen_port:", err)
|
||||
return &IPCError{Code: ipcErrorPortInUse}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user