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));
}