platform: Add oom killer

This commit is contained in:
世界
2023-03-16 10:55:06 +08:00
parent 2cb0e37f50
commit cc9cb0b477
6 changed files with 80 additions and 33 deletions

View File

@@ -10,22 +10,17 @@ import (
var (
connAccess sync.RWMutex
openConnection list.List[*ConnEntry]
openConnection list.List[io.Closer]
)
type ConnEntry struct {
Conn io.Closer
Stack []byte
}
func Count() int {
return openConnection.Len()
}
func List() []*ConnEntry {
func List() []io.Closer {
connAccess.RLock()
defer connAccess.RUnlock()
connList := make([]*ConnEntry, 0, openConnection.Len())
connList := make([]io.Closer, 0, openConnection.Len())
for element := openConnection.Front(); element != nil; element = element.Next() {
connList = append(connList, element.Value)
}
@@ -36,8 +31,8 @@ func Close() {
connAccess.Lock()
defer connAccess.Unlock()
for element := openConnection.Front(); element != nil; element = element.Next() {
common.Close(element.Value.Conn)
common.Close(element.Value)
element.Value = nil
}
openConnection = list.List[*ConnEntry]{}
openConnection.Init()
}