From 94e9f50569bd20a697edb36711d017de1c19d1a5 Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期一, 13 一月 2020 14:19:38 +0800
Subject: [PATCH] update vehicle

---
 proc/single.go |   48 +++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 39 insertions(+), 9 deletions(-)

diff --git a/proc/single.go b/proc/single.go
index 42d15b8..bdce559 100644
--- a/proc/single.go
+++ b/proc/single.go
@@ -3,9 +3,37 @@
 import (
 	"analysis/logo"
 	"analysis/util"
-	"analysis/work"
 	"context"
+	"strings"
 )
+
+func slaveProc(ctx context.Context, typ string, id string, gpu int, shm bool) bool {
+	name, ok := prepare(typ, gpu)
+	if !ok {
+		logo.Errorln("SLAVEPROC ERROR: ", name)
+		return false
+	}
+
+	if id != util.FakeSdkID {
+		build(name, id, shm)
+		runAll(ctx)
+	} else {
+
+		util.InitDBAPI()
+
+		sdks := util.SDKInfo()
+		// 棣栧厛杩愯yolo
+		for k, v := range sdks {
+			if strings.EqualFold(typ, v.SdkType) {
+				build(v.SdkType, v.IpcId, shm)
+				logo.Infof("SINGLE PROC ID %s TYPE %s\n", k, v.IpcId, v.SdkType)
+			}
+		}
+
+		runAll(ctx)
+	}
+	return true
+}
 
 // SingleRole 鍗曡繘绋�
 func SingleRole(ctx context.Context, typ string, ipcID string, gpu int, shm bool) bool {
@@ -24,17 +52,17 @@
 	return ret
 }
 
-func sdkProc(ctx context.Context, typ string, gpu int, shm bool) {
+func sdkProc(ctx context.Context, typ string, gpu int, shm bool) bool {
 	if typ != util.FeatYolo && typ != util.FeatFace {
 		logo.Errorf("NO THIS SDK PROC SDKPROC : ", typ)
 	}
 	rSDK := []string{
-		work.FDetect,
-		work.FCompare,
+		FDetect,
+		FCompare,
 	}
 	if typ == util.FeatYolo {
 		rSDK = rSDK[0:0]
-		rSDK = append(rSDK, work.YDetect)
+		rSDK = append(rSDK, YDetect)
 	}
 	var res []bool
 	for _, v := range rSDK {
@@ -44,7 +72,7 @@
 	for k, v := range res {
 		if !v {
 			logo.Errorln(k, " type proc failed to init")
-			return
+			return false
 		}
 	}
 
@@ -60,12 +88,13 @@
 	}
 
 	runAll(ctx)
+	return false
 }
 
-func allProc(ctx context.Context, gpu int, shm bool) {
+func allProc(ctx context.Context, gpu int, shm bool) bool {
 	var res []bool
 
-	for _, v := range work.SDK {
+	for _, v := range SDK {
 		_, f := prepare(v, gpu)
 		res = append(res, f)
 	}
@@ -73,7 +102,7 @@
 	for k, v := range res {
 		if !v {
 			logo.Errorln(k, " ALL PROC FAILED TO INIT")
-			return
+			return false
 		}
 	}
 
@@ -95,4 +124,5 @@
 	}
 
 	runAll(ctx)
+	return true
 }

--
Gitblit v1.8.0