From fc1b1ad79b288aa3d363d9d0037d801cba685dd9 Mon Sep 17 00:00:00 2001 From: "munkyu.im" Date: Wed, 16 Jan 2013 19:55:28 +0900 Subject: [PATCH] emulator: modify popup command 1. arrange source code 2. add library path in command 3. fix shared memory check and show popup when error occurs Signed-off-by: munkyu.im --- tizen/src/emulator.c | 7 +++-- tizen/src/hw/maru_vga.c | 7 +++-- tizen/src/skin/maruskin_client.c | 62 ++++++++++++++++++++-------------------- 3 files changed, 40 insertions(+), 36 deletions(-) diff --git a/tizen/src/emulator.c b/tizen/src/emulator.c index 33b0d21..c6a8601 100644 --- a/tizen/src/emulator.c +++ b/tizen/src/emulator.c @@ -143,8 +143,8 @@ void check_shdmem(void) } shmdt(shm_addr); maru_register_exit_msg(MARU_EXIT_UNKNOWN, - (char *)"Can not execute this VM.\n \ - The same name is running now."); + "Can not execute this VM.\n" + "The same name is running now."); exit(0); } else { shmdt(shm_addr); @@ -173,7 +173,8 @@ void check_shdmem(void) if (strcmp(pBuf, tizen_target_path) == 0) { maru_register_exit_msg(MARU_EXIT_UNKNOWN, - "Can not execute this VM.\nThe same name is running now."); + "Can not execute this VM.\n" + "The same name is running now."); UnmapViewOfFile(pBuf); CloseHandle(hMapFile); free(base_port); diff --git a/tizen/src/hw/maru_vga.c b/tizen/src/hw/maru_vga.c index 2f96628..a63da73 100644 --- a/tizen/src/hw/maru_vga.c +++ b/tizen/src/hw/maru_vga.c @@ -60,6 +60,7 @@ #include #include #include +#include "maru_err_table.h" #endif #ifdef USE_SHM @@ -1896,9 +1897,11 @@ void maru_vga_common_init(VGACommonState *s) INFO("shared memory key: %d, vga ram_size : %d\n", mykey, s->vram_size); shmid = shmget((key_t)mykey, (size_t)s->vram_size, 0666 | IPC_CREAT); if (shmid == -1) { - ERR("shmget failed\n"); + ERR( "shmget failed\n"); perror("maru_vga: "); - exit(1); + maru_register_exit_msg(MARU_EXIT_UNKNOWN, (char*)"Cannot launch this VM.\n" + "Shared memory is not enough."); + exit(0); } shared_memory = shmat(shmid, (void*)0, 0); diff --git a/tizen/src/skin/maruskin_client.c b/tizen/src/skin/maruskin_client.c index d7e09d7..4dacfe7 100644 --- a/tizen/src/skin/maruskin_client.c +++ b/tizen/src/skin/maruskin_client.c @@ -104,6 +104,7 @@ static void* run_skin_client(void* arg) } else { strcpy(JAVA_EXEFILE_PATH, "java"); } + char* bin_dir = get_bin_path(); int bin_len = strlen(bin_dir); char bin_dir_win[bin_len]; @@ -121,9 +122,12 @@ static void* run_skin_client(void* arg) len_maxtouchpoint = 1; } + int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) + #ifdef CONFIG_WIN32 - int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) + strlen((char*)bin_dir_win) + - strlen(bin_dir) + strlen(JAR_SKINFILE) + + strlen((char*)bin_dir_win) + strlen(bin_dir) + strlen(JAR_SKINFILE) + +#else + strlen(bin_dir) + strlen(bin_dir) + strlen(JAR_SKINFILE) + +#endif strlen(OPT_SVR_PORT) + strlen(buf_skin_server_port) + strlen(OPT_UID) + strlen(buf_uid) + strlen(OPT_VM_PATH) + strlen(vm_path) + strlen(OPT_NET_BASE_PORT) + strlen(buf_tizen_base_port) + strlen(OPT_MAX_TOUCHPOINT) + len_maxtouchpoint + strlen(argv) + 46; @@ -134,34 +138,17 @@ static void* run_skin_client(void* arg) snprintf(cmd, len, "%s %s %s=\"%s\" \"%s%s\" %s=\"%d\" %s=\"%d\" %s=\"%s\" %s=\"%d\" %s=%d %s", JAVA_EXEFILE_PATH, JAVA_EXEOPTION, JAVA_LIBRARY_PATH, +#ifdef CONFIG_WIN32 bin_dir_win, bin_dir, JAR_SKINFILE, - OPT_SVR_PORT, skin_server_port, - OPT_UID, uid, - OPT_VM_PATH, vm_path, - OPT_NET_BASE_PORT, tizen_base_port, - OPT_MAX_TOUCHPOINT, maxtouchpoint, - argv ); #else - int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) + - strlen(bin_dir) + strlen(JAR_SKINFILE) + strlen(bin_dir) + - strlen(OPT_SVR_PORT) + strlen(buf_skin_server_port) + strlen(OPT_UID) + strlen(buf_uid) + - strlen(OPT_VM_PATH) + strlen(vm_path) + strlen(OPT_NET_BASE_PORT) + strlen(buf_tizen_base_port) + - strlen(OPT_MAX_TOUCHPOINT) + len_maxtouchpoint + strlen(argv) + 46; - if (len > JAVA_MAX_COMMAND_LENGTH) { - INFO("swt command length is too long! (%d)\n", len); - len = JAVA_MAX_COMMAND_LENGTH; - } - - snprintf(cmd, len, "%s %s %s=\"%s\" \"%s%s\" %s=\"%d\" %s=\"%d\" %s=\"%s\" %s=\"%d\" %s=%d %s", - JAVA_EXEFILE_PATH, JAVA_EXEOPTION, JAVA_LIBRARY_PATH, bin_dir, - bin_dir, JAR_SKINFILE, + bin_dir, bin_dir, JAR_SKINFILE, +#endif OPT_SVR_PORT, skin_server_port, OPT_UID, uid, OPT_VM_PATH, vm_path, OPT_NET_BASE_PORT, tizen_base_port, OPT_MAX_TOUCHPOINT, maxtouchpoint, argv ); -#endif INFO("command for swt : %s\n", cmd); @@ -316,21 +303,34 @@ int start_simple_client(char* msg) } else { strcpy(JAVA_EXEFILE_PATH, "java"); } -#endif - char* bin_dir = get_bin_path(); + int bin_dir_len = strlen(bin_dir); + char bin_dir_win[bin_dir_len]; + strcpy(bin_dir_win, bin_dir); + bin_dir_win[strlen(bin_dir_win) -1] = '\0'; +#else + char* bin_dir = get_bin_path(); +#endif INFO("bin directory : %s\n", bin_dir); - int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) + - strlen(bin_dir) + strlen(JAR_SKINFILE) + - strlen(JAVA_SIMPLEMODE_OPTION) + strlen(msg) + 7; + + int len = strlen(JAVA_EXEFILE_PATH) + strlen(JAVA_EXEOPTION) + strlen(JAVA_LIBRARY_PATH) + +#ifdef CONFIG_WIN32 + strlen((char*)bin_dir_win) + strlen(bin_dir) + strlen(JAR_SKINFILE) + +#else + strlen(bin_dir) + strlen(bin_dir) + strlen(JAR_SKINFILE) + +#endif + strlen(bin_dir) + strlen(JAVA_SIMPLEMODE_OPTION) + strlen(msg) + 11; if (len > JAVA_MAX_COMMAND_LENGTH) { len = JAVA_MAX_COMMAND_LENGTH; } - - snprintf(cmd, len, "%s %s %s%s %s=\"%s\"", - JAVA_EXEFILE_PATH, JAVA_EXEOPTION, - bin_dir, JAR_SKINFILE, JAVA_SIMPLEMODE_OPTION, msg); + snprintf(cmd, len, "%s %s %s=\"%s\" %s%s %s=\"%s\"", +#ifdef CONFIG_WIN32 + JAVA_EXEFILE_PATH, JAVA_EXEOPTION, JAVA_LIBRARY_PATH, bin_dir_win, +#else + JAVA_EXEFILE_PATH, JAVA_EXEOPTION, JAVA_LIBRARY_PATH, bin_dir, +#endif + bin_dir, JAR_SKINFILE, JAVA_SIMPLEMODE_OPTION, msg); INFO("command for swt : %s\n", cmd); #ifdef CONFIG_WIN32 -- 2.7.4