X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=ginge.git;a=blobdiff_plain;f=loader%2Fhost.c;h=796d980262939261b96677a764a2d1709bb269d8;hp=7df4f1092d75621742b6f9b71660858a8f69ea3b;hb=d5a3e1bccc54036e8b659f22dc704fa257f5734d;hpb=f7767d0f33875b1ebdee8003690640bc73151bb3 diff --git a/loader/host.c b/loader/host.c index 7df4f10..796d980 100644 --- a/loader/host.c +++ b/loader/host.c @@ -26,7 +26,6 @@ #include "host_wiz.c" #endif -// for plat.c char **g_argv; int host_init(void) @@ -48,7 +47,7 @@ int host_read_btns(void) return actions[IN_BINDTYPE_PLAYER12]; } -void host_forced_exit(void) +void host_forced_exit(int status) { // exit() might not be enough because loader and app data is out of sync, // and other threads (which are really processes on this old glibc used) @@ -57,12 +56,14 @@ void host_forced_exit(void) printf("forced exit...\n"); - snprintf(cmd, sizeof(cmd), "killall %s", g_argv[0]); - system(cmd); - usleep(300000); - snprintf(cmd, sizeof(cmd), "killall -9 %s", g_argv[0]); - system(cmd); - exit(1); + if (g_argv != NULL) { + snprintf(cmd, sizeof(cmd), "killall %s", g_argv[0]); + system(cmd); + usleep(300000); + snprintf(cmd, sizeof(cmd), "killall -9 %s", g_argv[0]); + system(cmd); + } + exit(status); } // vim:shiftwidth=2:expandtab