123456789101112131415161718192021222324252627282930 |
- //go:build darwin
- package libbox
- import (
- "encoding/binary"
- "net"
- runtimeDebug "runtime/debug"
- "time"
- "github.com/sagernet/sing-box/common/dialer/conntrack"
- )
- func ClientCloseConnections(sharedDirectory string) error {
- conn, err := clientConnect(sharedDirectory)
- if err != nil {
- return err
- }
- defer conn.Close()
- return binary.Write(conn, binary.BigEndian, uint8(CommandCloseConnections))
- }
- func (s *CommandServer) handleCloseConnections(conn net.Conn) error {
- conntrack.Close()
- go func() {
- time.Sleep(time.Second)
- runtimeDebug.FreeOSMemory()
- }()
- return nil
- }
|