mmi-manager : add exit handler to handle sigint 35/277135/1
authorulgal-park <ulgal.park@samsung.com>
Wed, 13 Oct 2021 09:37:21 +0000 (18:37 +0900)
committerdyamy-lee <dyamy.lee@samsung.com>
Fri, 1 Jul 2022 05:49:40 +0000 (14:49 +0900)
Change-Id: I59e4f61b296eeb8c9183f232b5d79243e8f2a220

src/mmimgr/mmi-manager.c

index 61aa1a9..931b386 100644 (file)
@@ -38,6 +38,7 @@ static Eina_List *_focus_candidates = NULL;
 static int _focus_candidates_cnt = 0;
 static mmi_client* _cur_focus_client = NULL;
 Ecore_Event_Handler *_event_handlers[2];
+Ecore_Event_Handler *_exit_event_handlers;
 
 int
 mmi_manager_remove_client_from_focus_candidates(mmi_client *client)
@@ -271,6 +272,16 @@ _state_change_cb(void *data EINA_UNUSED, int type, void *event)
        return ECORE_CALLBACK_PASS_ON;
 }
 
+static Eina_Bool
+_mmi_manager_exit_cb(void *data EINA_UNUSED, int type, void *event)
+{
+       LOGI("...");
+
+       mmi_manager_loop_end();
+
+       return ECORE_CALLBACK_PASS_ON;
+}
+
 static void
 _event_handler_init()
 {
@@ -278,6 +289,8 @@ _event_handler_init()
                                _focus_change_cb, NULL);
        _event_handlers[1] = ecore_event_handler_add(MMI_MANAGER_EVENT_STATE_CHANGE,
                                _state_change_cb, NULL);
+       _exit_event_handlers = ecore_event_handler_add(ECORE_EVENT_SIGNAL_EXIT,
+                               _mmi_manager_exit_cb, NULL);
 }
 
 static void
@@ -285,7 +298,9 @@ _event_handler_shutdown()
 {
        ecore_event_handler_del(_event_handlers[0]);
        ecore_event_handler_del(_event_handlers[1]);
+       ecore_event_handler_del(_exit_event_handlers);
        _event_handlers[0] = _event_handlers[1] = NULL;
+       _exit_event_handlers = NULL;
 }
 
 void