summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/pjsua/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip-apps/src/pjsua/main.c')
-rw-r--r--pjsip-apps/src/pjsua/main.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/pjsip-apps/src/pjsua/main.c b/pjsip-apps/src/pjsua/main.c
index 79235308..37941efe 100644
--- a/pjsip-apps/src/pjsua/main.c
+++ b/pjsip-apps/src/pjsua/main.c
@@ -23,8 +23,9 @@
/*
- * These are defined in pjsua.c.
+ * 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(void);
@@ -75,16 +76,20 @@ static void setup_signal_handler(void)
int main(int argc, char *argv[])
{
- if (app_init(argc, argv) != PJ_SUCCESS)
- return 1;
+ do {
+ app_restart = PJ_FALSE;
- setup_signal_handler();
+ if (app_init(argc, argv) != PJ_SUCCESS)
+ return 1;
- app_main();
- app_destroy();
+ setup_signal_handler();
- /* This is on purpose */
- app_destroy();
+ app_main();
+ app_destroy();
+
+ /* This is on purpose */
+ app_destroy();
+ } while (app_restart);
return 0;
}