pin-gcc-client/0010-PluginClient-Fix-the-bug-during-multi-process-compil.patch

51 lines
1.7 KiB
Diff

From 87821c34287af363d40624f75f82ef267828d815 Mon Sep 17 00:00:00 2001
From: Mingchuan Wu <wumingchuan1992@foxmail.com>
Date: Mon, 3 Apr 2023 19:29:16 +0800
Subject: [PATCH] [PluginClient] Fix the bug during multi-process compilation.
diff --git a/lib/PluginClient/PluginClient.cpp b/lib/PluginClient/PluginClient.cpp
index c354d7e..c9f3cb7 100644
--- a/lib/PluginClient/PluginClient.cpp
+++ b/lib/PluginClient/PluginClient.cpp
@@ -28,7 +28,7 @@
namespace PinClient {
using namespace mlir::Plugin;
using namespace mlir;
-static PluginClient g_plugin;
+static PluginClient *g_plugin;
std::map<InjectPoint, plugin_event> g_injectPoint {
{HANDLE_PARSE_TYPE, PLUGIN_FINISH_TYPE},
@@ -47,7 +47,10 @@ std::map<InjectPoint, plugin_event> g_injectPoint {
PluginClient *PluginClient::GetInstance()
{
- return &g_plugin;
+ if (g_plugin == nullptr) {
+ g_plugin = new PluginClient();
+ }
+ return g_plugin;
}
int PluginClient::GetEvent(InjectPoint inject, plugin_event *event)
diff --git a/lib/PluginClient/PluginInputCheck.cpp b/lib/PluginClient/PluginInputCheck.cpp
index 36ebd8c..f2505ca 100755
--- a/lib/PluginClient/PluginInputCheck.cpp
+++ b/lib/PluginClient/PluginInputCheck.cpp
@@ -43,6 +43,11 @@ bool PluginInputCheck::ReadConfigfile(Json::Value& root)
Json::Reader reader;
std::ifstream ifs(configFilePath.c_str());
if (!ifs.is_open()) {
+ if (serverPath == "") {
+ LOGW("open %s fail and server path is NULL! should specify server path first!\n", configFilePath.c_str());
+ } else {
+ LOGW("open %s fail! use default sha256file:%s\n", configFilePath.c_str(), shaPath.c_str());
+ }
return false;
}
--
2.33.0