diff options
author | Benny Prijono <bennylp@teluu.com> | 2012-11-13 08:46:42 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2012-11-13 08:46:42 +0000 |
commit | 59950a526565b533cd1bd7e7216843f3cb2cc483 (patch) | |
tree | 47ab68cfeee0a4bc975887da0363952ac4ca4e7a | |
parent | 14072c029c6aa2fae365ee6031db742510e9e57b (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.c | 6 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_core.c | 4 |
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)); } |