summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunghoon Park <jh9216.park@samsung.com>2018-06-28 13:59:57 +0900
committerJunghoon Park <jh9216.park@samsung.com>2018-06-28 13:59:57 +0900
commit5450273ecb2bbcf9657f169df4eee46acd76f7d2 (patch)
tree54db4d23a7d4dbb9d7ea2e3724c5b3280fece878
parent4a5181b41cbbdda4c47d51d5d56af4a3e0281608 (diff)
downloadtidl-5450273ecb2bbcf9657f169df4eee46acd76f7d2.tar.gz
tidl-5450273ecb2bbcf9657f169df4eee46acd76f7d2.tar.bz2
tidl-5450273ecb2bbcf9657f169df4eee46acd76f7d2.zip
Terminate the service object if timeout happen
Change-Id: I32a564e77355be52c648c1a2e786d8a7265b6893 Signed-off-by: Junghoon Park <jh9216.park@samsung.com>
-rw-r--r--idlc/cpp_gen/cpp_stub_body_gen_cb.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/idlc/cpp_gen/cpp_stub_body_gen_cb.h b/idlc/cpp_gen/cpp_stub_body_gen_cb.h
index 3ca0cc1..fefb2d8 100644
--- a/idlc/cpp_gen/cpp_stub_body_gen_cb.h
+++ b/idlc/cpp_gen/cpp_stub_body_gen_cb.h
@@ -108,6 +108,14 @@ int $$::OnReceivedCB(const char* sender, const char* instance, rpc_port_h port,
ret = rpc_port_parcel_create_from_port(&p, port);
if (ret != 0) {
_E("Failed to create parcel from port");
+ for (auto& i : cxt->services_) {
+ if (i->GetInstance() == instance) {
+ i->OnTerminate();
+ cxt->services_.remove(i);
+ break;
+ }
+ }
+
return ret;
}