From c804940ec5bcdcfa0ffe90e03c6866d3bb651416 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期二, 14 一月 2020 17:13:21 +0800 Subject: [PATCH] add chan cache for async --- run.go | 14 +++++++++++--- 1 files changed, 11 insertions(+), 3 deletions(-) diff --git a/run.go b/run.go index bda030f..bba0c82 100644 --- a/run.go +++ b/run.go @@ -13,7 +13,7 @@ "basic.com/valib/gogpu.git" ) -const maxTryBeforeReboot = 30 +const maxTryBeforeReboot = 10 type face struct { handle *SDKFace @@ -57,7 +57,9 @@ } else { f.rebootUntil++ + f.fnLogger("Face No Running: ", f.rebootUntil) if f.rebootUntil > maxTryBeforeReboot { + f.fnLogger("Face Too Long Running, Reboot") os.Exit(0) } } @@ -155,6 +157,12 @@ } } +func (f *face) release() { + if f.handle != nil { + f.handle.Free() + } +} + // Run run func Run(ctx context.Context, i interface{}) { s := i.(*face) @@ -165,8 +173,8 @@ ) ipcRcv := sdkhelper.GetIpcAddress(s.shm, s.id+postPull) ipcSnd := sdkhelper.GetIpcAddress(s.shm, s.id+postPush) - chRcv := make(chan []byte) - chSnd := make(chan sdkstruct.MsgSDK) + chRcv := make(chan []byte, s.maxChannel) + chSnd := make(chan sdkstruct.MsgSDK, s.maxChannel) rcver := sdkhelper.NewReciever(ipcRcv, chRcv, s.shm, s.fnLogger) snder := sdkhelper.NewSender(ipcSnd, chSnd, s.shm, s.fnLogger) -- Gitblit v1.8.0