static DWORD WINAPI ThreadFunc(LPVOID arg) { if(!setjmp(jump_buf)) main_execute(); else set_visible(1); /* could be unsafe to call it from another thread */ return 0; }
static void ThreadFunc(void *arg) { if(!setjmp(jump_buf)) main_execute(); else set_visible(1); /* could be unsafe to call it from another thread */ _endthread(); }
int main(int argc, char *argv[]) { static struct WSAData wsa_state; if(WSAStartup(MAKEWORD(1, 1), &wsa_state)) return 1; main_initialize(argc>1 ? argv[1] : NULL, argc>2 ? argv[2] : NULL); main_execute(); return 0; }
int main(int argc, char* argv[]) { /* execution begins here 8-) */ main_initialize(argc>1?argv[1]:NULL, argc>2?argv[2]:NULL); signal(SIGPIPE, SIG_IGN); /* avoid 'broken pipe' signal */ if(signal(SIGTERM, SIG_IGN)!=SIG_IGN) signal(SIGTERM, signal_handler); if(signal(SIGQUIT, SIG_IGN)!=SIG_IGN) signal(SIGQUIT, signal_handler); if(signal(SIGINT, SIG_IGN)!=SIG_IGN) signal(SIGINT, signal_handler); if(signal(SIGHUP, SIG_IGN)!=SIG_IGN) signal(SIGHUP, signal_handler); /* signal(SIGSEGV, signal_handler); */ main_execute(); return 0; /* success */ }