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