diff options
author | Benny Prijono <bennylp@teluu.com> | 2013-07-19 06:31:28 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2013-07-19 06:31:28 +0000 |
commit | aaef9cb9d469ffb94ef0694c7b47e521887a6679 (patch) | |
tree | f09101e0e5e58287332968815b94fceb0a86f28a /pjlib | |
parent | 70a65732023c1e8cb0e037a909e73018a3604276 (diff) |
Closed #1690: Assertion in timer in SIP transaction: Timer being rescheduled when already running
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4567 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib')
-rw-r--r-- | pjlib/include/pj/timer.h | 9 | ||||
-rw-r--r-- | pjlib/src/pj/timer.c | 5 |
2 files changed, 14 insertions, 0 deletions
diff --git a/pjlib/include/pj/timer.h b/pjlib/include/pj/timer.h index 59149385..df6155a8 100644 --- a/pjlib/include/pj/timer.h +++ b/pjlib/include/pj/timer.h @@ -213,6 +213,15 @@ PJ_DECL(pj_timer_entry*) pj_timer_entry_init( pj_timer_entry *entry, pj_timer_heap_callback *cb ); /** + * Queries whether a timer entry is currently running. + * + * @param entry The timer entry to query. + * + * @return PJ_TRUE if the timer is running. PJ_FALSE if not. + */ +PJ_DECL(pj_bool_t) pj_timer_entry_running( pj_timer_entry *entry ); + +/** * Schedule a timer entry which will expire AFTER the specified delay. * * @param ht The timer heap. diff --git a/pjlib/src/pj/timer.c b/pjlib/src/pj/timer.c index b9205c81..931a57fa 100644 --- a/pjlib/src/pj/timer.c +++ b/pjlib/src/pj/timer.c @@ -466,6 +466,11 @@ PJ_DEF(pj_timer_entry*) pj_timer_entry_init( pj_timer_entry *entry, return entry; } +PJ_DEF(pj_bool_t) pj_timer_entry_running( pj_timer_entry *entry ) +{ + return (entry->_timer_id >= 1); +} + #if PJ_TIMER_DEBUG static pj_status_t schedule_w_grp_lock_dbg(pj_timer_heap_t *ht, pj_timer_entry *entry, |