Ignore:
Timestamp:
Feb 21, 2013 11:26:35 AM (6 years ago)
Author:
bennylp
Message:

Fixed #1617: major synchronization fixes in PJNATH with incorporation of group lock to avoid deadlock and crashes due to race conditions

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjnath/include/pjnath/stun_session.h

    r4352 r4360  
    3131#include <pjnath/stun_transaction.h> 
    3232#include <pj/list.h> 
     33#include <pj/lock.h> 
    3334#include <pj/timer.h> 
    3435 
     
    385386 * @param cb            Session callback. 
    386387 * @param fingerprint   Enable message fingerprint for outgoing messages. 
     388 * @param grp_lock      Optional group lock to be used by this session. 
     389 *                      If NULL, the session will create one itself. 
    387390 * @param p_sess        Pointer to receive STUN session instance. 
    388391 * 
     
    393396                                            const pj_stun_session_cb *cb, 
    394397                                            pj_bool_t fingerprint, 
     398                                            pj_grp_lock_t *grp_lock, 
    395399                                            pj_stun_session **p_sess); 
    396400 
     
    430434 */ 
    431435PJ_DECL(void*) pj_stun_session_get_user_data(pj_stun_session *sess); 
    432  
    433 /** 
    434  * Change the lock object used by the STUN session. By default, the STUN 
    435  * session uses a mutex to protect its internal data. If application already 
    436  * protects access to STUN session with higher layer lock, it may disable 
    437  * the mutex protection in the STUN session by changing the STUN session 
    438  * lock to a NULL mutex. 
    439  * 
    440  * @param sess      The STUN session instance. 
    441  * @param lock      New lock instance to be used by the STUN session. 
    442  * @param auto_del  Specify whether STUN session should destroy this 
    443  *                  lock instance when it's destroyed. 
    444  */ 
    445 PJ_DECL(pj_status_t) pj_stun_session_set_lock(pj_stun_session *sess, 
    446                                               pj_lock_t *lock, 
    447                                               pj_bool_t auto_del); 
    448436 
    449437/** 
Note: See TracChangeset for help on using the changeset viewer.