Print a log and create wm_start files when non-delayed modules are loaded 37/78037/1
authorSeungjin Park <sj8808.park@samsung.com>
Mon, 4 Jul 2016 04:50:43 +0000 (13:50 +0900)
committerSeungjin Park <sj8808.park@samsung.com>
Mon, 4 Jul 2016 04:52:39 +0000 (13:52 +0900)
Signed-off-by: Seungjin Park <sj8808.park@samsung.com>
Change-Id: Ifec0582cc0659c5147603df9ea9b69bdfe8e58b6

src/bin/e_config.c
src/bin/e_config.h
src/bin/e_module.c

index ae4e9c2865215f0c639957b33201126532c3ec1a..fb85bd9846041280208c11806f4dae7529327454 100644 (file)
@@ -218,6 +218,7 @@ _e_config_edd_init(Eina_Bool old)
    E_CONFIG_VAL(D, T, wl_sock_symlink_access.smack.flags, INT);
    E_CONFIG_VAL(D, T, sleep_for_dri, INT);
    E_CONFIG_VAL(D, T, create_wm_ready, INT);
+   E_CONFIG_VAL(D, T, create_wm_start, INT);
    E_CONFIG_VAL(D, T, comp_canvas_bg.r, UCHAR);
    E_CONFIG_VAL(D, T, comp_canvas_bg.g, UCHAR);
    E_CONFIG_VAL(D, T, comp_canvas_bg.b, UCHAR);
@@ -396,6 +397,7 @@ e_config_load(void)
    E_CONFIG_LIMIT(e_config->use_cursor_timer, 0, 1);
    E_CONFIG_LIMIT(e_config->sleep_for_dri, 0, 1);
    E_CONFIG_LIMIT(e_config->create_wm_ready, 0, 1);
+   E_CONFIG_LIMIT(e_config->create_wm_start, 0, 1);
    E_CONFIG_LIMIT(e_config->comp_canvas_bg.r, 0, 255);
    E_CONFIG_LIMIT(e_config->comp_canvas_bg.g, 0, 255);
    E_CONFIG_LIMIT(e_config->comp_canvas_bg.b, 0, 255);
index eac169109bc5295ffb7a0e87cd520b63e5c9931b..b1c60e37342da21e38d1429ee6a01c0953547a22 100644 (file)
@@ -163,6 +163,7 @@ struct _E_Config
    } wl_sock_symlink_access;
    int                       sleep_for_dri;
    int                       create_wm_ready;
+   int                       create_wm_start;
    struct
    {
       unsigned char r, g, b, a;
index db074e2dbb9132bee63edbe2d4c1014c9930159b..bb55e3f8d1bc9e0f798bf81e94ba2a7465769f14 100644 (file)
@@ -13,6 +13,7 @@ static void _e_module_dialog_disable_defer(const char *title, const char *body,
 static void _e_module_dialog_disable_create(const char *title, const char *body, E_Module *m);
 static void _e_module_cb_dialog_disable(void *data, E_Dialog *dia);
 static void _e_module_event_update_free(void *data, void *event);
+static void _e_module_create_wm_start(void);
 static int  _e_module_sort_priority(const void *d1, const void *d2);
 static Eina_Bool _e_module_cb_idler(void *data);
 
@@ -285,6 +286,10 @@ e_module_all_load(void)
                }
           }
      }
+   PRCTL("[Winsys] Non-delayed modules loaded");
+
+   if (e_config->create_wm_start)
+     _e_module_create_wm_start();
 
    if (!_e_modules_delayed)
      {
@@ -876,3 +881,30 @@ _e_module_cb_idler(void *data EINA_UNUSED)
    return ECORE_CALLBACK_DONE;
 }
 
+static void
+_e_module_create_wm_start(void)
+{
+   FILE *_wm_start_checker = NULL;
+
+   _wm_start_checker = fopen("/run/.wm_start", "wb");
+   if (_wm_start_checker)
+     {
+        PRCTL("[Winsys] /run/.wm_start is created");
+        fclose(_wm_start_checker);
+     }
+   else
+     {
+        PRCTL("[Winsys] Failed to create /run/.wm_start");
+     }
+
+   _wm_start_checker = fopen("/tmp/.wm_start", "wb");
+   if (_wm_start_checker)
+     {
+        PRCTL("[Winsys] /tmp/.wm_start is created");
+        fclose(_wm_start_checker);
+     }
+   else
+     {
+        PRCTL("[Winsys] Failed to create /tmp/.wm_start");
+     }
+}