summaryrefslogtreecommitdiff
path: root/daemon/vsomeipd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'daemon/vsomeipd.cpp')
-rw-r--r--daemon/vsomeipd.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/daemon/vsomeipd.cpp b/daemon/vsomeipd.cpp
index d924ac9..397abe9 100644
--- a/daemon/vsomeipd.cpp
+++ b/daemon/vsomeipd.cpp
@@ -28,6 +28,11 @@ static std::shared_ptr<vsomeip::application> its_application;
void vsomeipd_stop(int _signal) {
if (_signal == SIGINT || _signal == SIGTERM)
its_application->stop();
+ if (_signal == SIGABRT) {
+ VSOMEIP_DEBUG << "Suspending service discovery";
+ its_application->set_routing_state(vsomeip::routing_state_e::RS_SUSPENDED);
+ its_application->stop();
+ }
}
#endif
@@ -55,6 +60,7 @@ int vsomeipd_process(bool _is_quiet) {
// Handle signals
signal(SIGINT, vsomeipd_stop);
signal(SIGTERM, vsomeipd_stop);
+ signal(SIGABRT, vsomeipd_stop);
#endif
if (its_application->init()) {
if (its_application->is_routing()) {