Skip to content

Commit c581e35

Browse files
committed
fix callback in async. callback是全局的,不需要绑定map
1 parent 30e5424 commit c581e35

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

pyWrapper.cpp

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ const char *PythonSo = "libpython3.so";
1414

1515
wrapperMeterCustom g_metric_cb;
1616
wrapperTraceLog g_trace_cb;
17+
wrapperCallback g_resp_cb;
1718

1819
std::mutex RECORD_MUTEX;
1920
std::map <std::string, std::string> SID_RECORD;
@@ -347,7 +348,6 @@ int PyWrapper::wrapperOnceExecAsync(const char *usrTag, std::map <std::string, s
347348
try {
348349
if (cb != nullptr) {
349350
SetSidCallBack(cb, sid);
350-
351351
}
352352
int ret = 0;
353353
SetSidUsrTag(sid, usrTag);
@@ -595,7 +595,6 @@ int PyWrapper::wrapperTest() {
595595
}
596596
for (int i = 0; i < l->list.size(); ++i) {
597597
ResponseData d = l->list[i];
598-
// std::cout << "Response key: " << d.key << std::endl;
599598
// std::cout << "Response len" << d.len << std::endl;
600599
// std::cout << "response actual data Size " << d.data.length() << std::endl;
601600

@@ -680,23 +679,18 @@ int callBack(Response *resp, std::string sid) {
680679
}
681680

682681
cb_(usrTag, headPtr, 0);
683-
printf("ok\n:");
682+
spdlog::debug("call c's callback ok");
684683
return 0;
685684

686685
}
687686

688687
void SetSidCallBack(wrapperCallback cb, std::string sid) {
689-
RECORD_MUTEX.lock();
690-
SID_CB[sid] = cb;
691-
RECORD_MUTEX.unlock();
688+
g_resp_cb = cb;
692689
}
693690

694691
wrapperCallback GetSidCB(std::string sid) {
695-
wrapperCallback cb;
696-
RECORD_MUTEX.lock();
697-
cb = SID_CB[sid];
698-
RECORD_MUTEX.unlock();
699-
return cb;
692+
// ugly
693+
return g_resp_cb;
700694
}
701695

702696
void SetSidUsrTag(std::string sid, const char *usrTag) {

0 commit comments

Comments
 (0)