Re #1562: PJSUA-LIB shutdown operation may block for a long time if system time is modified while the shutdown is in progress. Also fixed similar issue in STUN client.


git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@4297 74dad513-b988-da41-8d7b-12977e46ad98
diff --git a/pjlib-util/src/pjlib-util/stun_simple_client.c b/pjlib-util/src/pjlib-util/stun_simple_client.c
index 109a49c..9b03599 100644
--- a/pjlib-util/src/pjlib-util/stun_simple_client.c
+++ b/pjlib-util/src/pjlib-util/stun_simple_client.c
@@ -193,15 +193,15 @@
 	TRACE_((THIS_FILE, "  Request(s) sent, counter=%d", send_cnt));
 
 	/* Calculate time of next retransmission. */
-	pj_gettimeofday(&next_tx);
+	pj_gettickcount(&next_tx);
 	next_tx.sec += (stun_timer[send_cnt]/1000);
 	next_tx.msec += (stun_timer[send_cnt]%1000);
 	pj_time_val_normalize(&next_tx);
 
-	for (pj_gettimeofday(&now), select_rc=1; 
+	for (pj_gettickcount(&now), select_rc=1;
 	     status==PJ_SUCCESS && select_rc>=1 && wait_resp>0 
 	       && PJ_TIME_VAL_LT(now, next_tx); 
-	     pj_gettimeofday(&now)) 
+	     pj_gettickcount(&now))
 	{
 	    pj_time_val timeout;
 
diff --git a/pjsip/src/pjsua-lib/pjsua_core.c b/pjsip/src/pjsua-lib/pjsua_core.c
index fd6ab3b..2a0065e 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -1075,7 +1075,7 @@
 {
     pj_time_val timeout, now;
 
-    pj_gettimeofday(&timeout);
+    pj_gettickcount(&timeout);
     timeout.msec += msec;
     pj_time_val_normalize(&timeout);
 
@@ -1084,7 +1084,7 @@
 	i = msec / 10;
 	while (pjsua_handle_events(10) > 0 && i > 0)
 	    --i;
-	pj_gettimeofday(&now);
+	pj_gettickcount(&now);
     } while (PJ_TIME_VAL_LT(now, timeout));
 }