Compare commits

...

3 Commits
dev ... main

Author SHA1 Message Date
Owen
5527bff671 Merge branch 'dev' 2026-02-06 15:17:21 -08:00
Owen
4850b1b332 Handle cross platform close
Former-commit-id: 89932bb736c7f4b3eb9bb2384b0cf6bd27872c1c
2026-01-31 17:50:31 -08:00
Owen
1ff74f7173 Dont go unregistered when low power mode
Former-commit-id: f55fc8fb39f8efc9d5438465f655dc2d734223c3
2026-01-31 17:15:30 -08:00
3 changed files with 21 additions and 2 deletions

View File

@@ -8,7 +8,6 @@ import (
_ "net/http/pprof" _ "net/http/pprof"
"os" "os"
"sync" "sync"
"syscall"
"time" "time"
"github.com/fosrl/newt/bind" "github.com/fosrl/newt/bind"
@@ -576,7 +575,7 @@ func (o *Olm) Close() {
// If we never created a device from the FD, close it explicitly // If we never created a device from the FD, close it explicitly
// This can happen if tunnel is stopped during registration before handleConnect // This can happen if tunnel is stopped during registration before handleConnect
logger.Debug("Closing unused TUN file descriptor %d", o.tunnelConfig.FileDescriptorTun) logger.Debug("Closing unused TUN file descriptor %d", o.tunnelConfig.FileDescriptorTun)
if err := syscall.Close(int(o.tunnelConfig.FileDescriptorTun)); err != nil { if err := closeFD(o.tunnelConfig.FileDescriptorTun); err != nil {
logger.Error("Failed to close TUN file descriptor: %v", err) logger.Error("Failed to close TUN file descriptor: %v", err)
} else { } else {
logger.Info("Closed unused TUN file descriptor") logger.Info("Closed unused TUN file descriptor")

10
olm/olm_unix.go Normal file
View File

@@ -0,0 +1,10 @@
//go:build !windows
package olm
import "syscall"
// closeFD closes a file descriptor in a platform-specific way
func closeFD(fd uint32) error {
return syscall.Close(int(fd))
}

10
olm/olm_windows.go Normal file
View File

@@ -0,0 +1,10 @@
//go:build windows
package olm
import "syscall"
// closeFD closes a file descriptor in a platform-specific way
func closeFD(fd uint32) error {
return syscall.Close(syscall.Handle(fd))
}