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 |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/run.go b/run.go
index eeef279..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
@@ -59,6 +59,7 @@
 				f.rebootUntil++
 				f.fnLogger("Face No Running: ", f.rebootUntil)
 				if f.rebootUntil > maxTryBeforeReboot {
+					f.fnLogger("Face Too Long Running, Reboot")
 					os.Exit(0)
 				}
 			}
@@ -156,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)
@@ -166,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