Initialize late modules after BootingDone 74/231874/1
authorByungSoo Kim <bs1770.kim@samsung.com>
Fri, 24 Apr 2020 14:08:33 +0000 (16:08 +0200)
committerMichal Bloch <m.bloch@partner.samsung.com>
Fri, 24 Apr 2020 14:25:46 +0000 (16:25 +0200)
Change-Id: Iadd21d6a6e402fbdb8bbef9e7d981ed3b8bc3c83
Signed-off-by: Michal Bloch <m.bloch@partner.samsung.com>
src/common/module.c
src/common/module.h
src/proc-stat/proc-monitor.c
src/resourced/main.c

index d0312b1..e16094d 100644 (file)
@@ -119,6 +119,10 @@ static void module_initcall_level(void *data, int priority)
 void modules_init(void *data)
 {
        module_initcall_level(data, MODULE_PRIORITY_NORMAL);
+}
+
+void modules_init_late(void *data)
+{
        module_initcall_level(data, MODULE_PRIORITY_LATE);
 }
 
index 6764dfc..867a342 100644 (file)
@@ -93,6 +93,7 @@ void remove_module(const struct module_ops *module);
 
 void modules_check_runtime_support(void *data);
 void modules_init(void *data);
+void modules_init_late(void *data);
 void modules_exit(void *data);
 void modules_restore(void *data);
 void modules_dump(FILE *fp, int mode);
index 5570c5f..caf601a 100644 (file)
@@ -829,6 +829,7 @@ EXPORT_TEST void proc_dbus_lcd_off(GVariant *params)
 EXPORT_TEST void booting_done_signal_handler(GVariant *params)
 {
        _I("booting done");
+       modules_init_late(NULL);
        resourced_notify(RESOURCED_NOTIFIER_BOOTING_DONE, NULL);
 }
 
index 7a43bbf..0a5a847 100644 (file)
@@ -59,8 +59,10 @@ int main(int argc, char **argv)
                modules_init(NULL);
        }
 
-       if (resourced_restarted())
+       if (resourced_restarted()) {
+               modules_init_late(NULL);
                resourced_notify(RESOURCED_NOTIFIER_BOOTING_DONE, NULL);
+       }
 
        sd_notify(0, "READY=1");