emulator: code clean up "emulator.c"
authorsyeon.hwang <syeon.hwang@samsung.com>
Fri, 11 Jan 2013 05:10:25 +0000 (14:10 +0900)
committersyeon.hwang <syeon.hwang@samsung.com>
Fri, 11 Jan 2013 05:10:25 +0000 (14:10 +0900)
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
tizen/src/emulator.c

index 445474e3aaa2469d87f74efd5f2b4a3e81d53719..785845babd0e76ca229774e178fbd009ba1ea301 100644 (file)
@@ -580,35 +580,10 @@ void prepare_maru(void)
 
 int qemu_main(int argc, char **argv, char **envp);
 
-#ifdef CONFIG_DARWIN
-int g_argc;
-
-void* main_thread(void* args);
-
-int main(int argc, char *argv[])
-{
-    char** args;
-    pthread_t main_thread_id;
-
-    g_argc = argc;
-    args = argv;
-
-    if (0 != pthread_create(&main_thread_id, NULL, main_thread, args)) {
-        INFO("Create main thread failed\n");
-        return -1;
-    }
-
-    ns_event_loop(&thread_running);
-    return 0;
-}
-
-void* main_thread(void* args)
+static int emulator_main(int argc, char *argv[])
 {
-    char** argv;
-    int argc = g_argc;
-
-    argv = (char**) args;
-    parse_options(argc, argv, &_skin_argc, &_skin_argv, &_qemu_argc, &_qemu_argv);
+    parse_options(argc, argv, &_skin_argc, 
+                &_skin_argv, &_qemu_argc, &_qemu_argv);
     set_bin_dir(_qemu_argv[0]);
     socket_init();
     extract_qemu_info(_qemu_argc, _qemu_argv);
@@ -646,54 +621,46 @@ void* main_thread(void* args)
     qemu_main(_qemu_argc, _qemu_argv, NULL);
 
     exit_emulator();
-    thread_running = 0;
-    pthread_exit(NULL);
 
     return 0;
 }
-#else
+
+#ifndef CONFIG_DARWIN
 int main(int argc, char *argv[])
 {
-    parse_options(argc, argv, &_skin_argc,
-                &_skin_argv, &_qemu_argc, &_qemu_argv);
-    set_bin_dir(_qemu_argv[0]);
-    socket_init();
-    extract_qemu_info(_qemu_argc, _qemu_argv);
-
-    INFO("Emulator start !!!\n");
-    atexit(maru_atexit);
-
-    extract_skin_info(_skin_argc, _skin_argv);
+    return emulator_main(argc, argv);
+}
+#else
+int g_argc;
 
-    check_shdmem();
-    make_shdmem();
-    sdb_setup();
+void* main_thread(void* args)
+{
+    char** argv;
+    int argc = g_argc;
+    argv = (char**) args;
 
-    system_info();
+    emulator_main(argc, argv);
 
-    INFO("Prepare running...\n");
-    /* Redirect stdout and stderr after debug_ch is initialized. */
-    redir_output();
+    thread_running = 0;
+    pthread_exit(NULL);
+}
 
-    int i;
+int main(int argc, char *argv[])
+{
+    char** args;
+    pthread_t main_thread_id;
 
-    fprintf(stdout, "qemu args: =========================================\n");
-    for (i = 0; i < _qemu_argc; ++i) {
-        fprintf(stdout, "%s ", _qemu_argv[i]);
-    }
-    fprintf(stdout, "\nqemu args: =========================================\n");
+    g_argc = argc;
+    args = argv;
 
-    fprintf(stdout, "skin args: =========================================\n");
-    for (i = 0; i < _skin_argc; ++i) {
-        fprintf(stdout, "%s ", _skin_argv[i]);
+    if (0 != pthread_create(&main_thread_id, NULL, main_thread, args)) {
+        INFO("Create main thread failed\n");
+        return -1;
     }
-    fprintf(stdout, "\nskin args: =========================================\n");
-
-    INFO("qemu main start!\n");
-    qemu_main(_qemu_argc, _qemu_argv, NULL);
 
-    exit_emulator();
+    ns_event_loop(&thread_running);
 
     return 0;
 }
 #endif
+