From b45e986f51e4545a9f42e6f387829a75d589c69a Mon Sep 17 00:00:00 2001
From: chenshijun <chenshijun@aiotlink.com>
Date: 星期三, 15 四月 2020 15:54:45 +0800
Subject: [PATCH] shmqueue的get和put,增加超次数退出
---
shmqueue.go | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/shmqueue.go b/shmqueue.go
index 2cc6908..83ab92e 100644
--- a/shmqueue.go
+++ b/shmqueue.go
@@ -210,6 +210,8 @@
cache = &(eqi.EsCaches[putPosNew&capMod])
+ tryMax := 100
+ tryCount := 0
for {
getNo := atomic.LoadUint32(&cache.getNo)
putNo := atomic.LoadUint32(&cache.putNo)
@@ -219,6 +221,11 @@
return true, int(posCnt + 1)
} else {
runtime.Gosched()
+ }
+ tryCount++
+ if tryCount >= tryMax {
+ fmt.Println("Put tryCount:", tryCount)
+ return false, int(posCnt)
}
}
}
@@ -302,6 +309,8 @@
cache = &(eqi.EsCaches[getPosNew&capMod])
+ tryMax := 100
+ tryCount := 0
for {
getNo := atomic.LoadUint32(&cache.getNo)
putNo := atomic.LoadUint32(&cache.putNo)
@@ -313,6 +322,11 @@
} else {
runtime.Gosched()
}
+ tryCount++
+ if tryCount >= tryMax {
+ fmt.Println("Get tryCount:", tryCount)
+ return ElemInfo{}, false, int(posCnt)
+ }
}
}
--
Gitblit v1.8.0