summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2012-11-13 08:46:42 +0000
committerBenny Prijono <bennylp@teluu.com>2012-11-13 08:46:42 +0000
commit59950a526565b533cd1bd7e7216843f3cb2cc483 (patch)
tree47ab68cfeee0a4bc975887da0363952ac4ca4e7a
parent14072c029c6aa2fae365ee6031db742510e9e57b (diff)
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: http://svn.pjsip.org/repos/pjproject/trunk@4297 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib-util/src/pjlib-util/stun_simple_client.c6
-rw-r--r--pjsip/src/pjsua-lib/pjsua_core.c4
2 files changed, 5 insertions, 5 deletions
diff --git a/pjlib-util/src/pjlib-util/stun_simple_client.c b/pjlib-util/src/pjlib-util/stun_simple_client.c
index 109a49cd..9b035992 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 @@ PJ_DEF(pj_status_t) pjstun_get_mapped_addr2(pj_pool_factory *pf,
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 fd6ab3bf..2a0065e6 100644
--- a/pjsip/src/pjsua-lib/pjsua_core.c
+++ b/pjsip/src/pjsua-lib/pjsua_core.c
@@ -1075,7 +1075,7 @@ static void busy_sleep(unsigned msec)
{
pj_time_val timeout, now;
- pj_gettimeofday(&timeout);
+ pj_gettickcount(&timeout);
timeout.msec += msec;
pj_time_val_normalize(&timeout);
@@ -1084,7 +1084,7 @@ static void busy_sleep(unsigned msec)
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));
}