diff options
Diffstat (limited to 'pjsip-apps/src/pjsua/main.c')
-rw-r--r-- | pjsip-apps/src/pjsua/main.c | 86 |
1 files changed, 1 insertions, 85 deletions
diff --git a/pjsip-apps/src/pjsua/main.c b/pjsip-apps/src/pjsua/main.c index 2ca08e4f..715ab349 100644 --- a/pjsip-apps/src/pjsua/main.c +++ b/pjsip-apps/src/pjsua/main.c @@ -26,91 +26,7 @@ /* * These are defined in pjsua_app.c. */ -extern pj_bool_t app_restart; -pj_status_t app_init(int argc, char *argv[]); -pj_status_t app_main(void); -pj_status_t app_destroy(); -pj_status_t receive_end_sig; -pj_thread_t *sig_thread; - -#if defined(PJ_WIN32) && PJ_WIN32!=0 -#include <windows.h> - -static pj_thread_desc handler_desc; - -static BOOL WINAPI CtrlHandler(DWORD fdwCtrlType) -{ - switch (fdwCtrlType) - { - // Handle the CTRL+C signal. - - case CTRL_C_EVENT: - case CTRL_CLOSE_EVENT: - case CTRL_BREAK_EVENT: - case CTRL_LOGOFF_EVENT: - case CTRL_SHUTDOWN_EVENT: - pj_thread_register("ctrlhandler", handler_desc, &sig_thread); - PJ_LOG(3,(THIS_FILE, "Ctrl-C detected, quitting..")); - receive_end_sig = PJ_TRUE; - app_destroy(); - ExitProcess(1); - PJ_UNREACHED(return TRUE;) - - default: - - return FALSE; - } -} - -static void setup_signal_handler(void) -{ - SetConsoleCtrlHandler(&CtrlHandler, TRUE); -} - -static void setup_socket_signal() -{ -} - -#else -#include <signal.h> - -static void setup_signal_handler(void) -{ -} - -static void setup_socket_signal() -{ - signal(SIGPIPE, SIG_IGN); -} - -#endif - -static int main_func(int argc, char *argv[]) -{ - receive_end_sig = PJ_FALSE; - setup_socket_signal(); - - do { - app_restart = PJ_FALSE; - - if (app_init(argc, argv) != PJ_SUCCESS) - return 1; - - setup_signal_handler(); - - app_main(); - if (!receive_end_sig) { - app_destroy(); - - /* This is on purpose */ - app_destroy(); - } else { - pj_thread_join(sig_thread); - } - } while (app_restart); - - return 0; -} +int main_func(int argc, char *argv[]); int main(int argc, char *argv[]) { |