summaryrefslogtreecommitdiff
path: root/pjsip/include
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-08-10 21:44:26 +0000
committerBenny Prijono <bennylp@teluu.com>2006-08-10 21:44:26 +0000
commitd09368727007e87aaf50271297bfc1ce0d1a47a7 (patch)
tree5b719f1504b5b72f589e62d0c0a22ef3de04be04 /pjsip/include
parentcaad58f9b7daf65180a0614ba00d9d6145d7a007 (diff)
Attempt to fix the race condition in dialog locking.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@671 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/include')
-rw-r--r--pjsip/include/pjsip/sip_dialog.h2
-rw-r--r--pjsip/include/pjsip/sip_ua_layer.h19
2 files changed, 20 insertions, 1 deletions
diff --git a/pjsip/include/pjsip/sip_dialog.h b/pjsip/include/pjsip/sip_dialog.h
index 123209be..191196a5 100644
--- a/pjsip/include/pjsip/sip_dialog.h
+++ b/pjsip/include/pjsip/sip_dialog.h
@@ -108,7 +108,7 @@ struct pjsip_dialog
/* Dialog's system properties. */
char obj_name[PJ_MAX_OBJ_NAME]; /**< Standard id. */
pj_pool_t *pool; /**< Dialog's pool. */
- pj_mutex_t *mutex; /**< Dialog's mutex. Do not call!!
+ pj_mutex_t *mutex_; /**< Dialog's mutex. Do not call!!
Use pjsip_dlg_inc_lock() instead! */
pjsip_user_agent *ua; /**< User agent instance. */
pjsip_endpoint *endpt; /**< Endpoint instance. */
diff --git a/pjsip/include/pjsip/sip_ua_layer.h b/pjsip/include/pjsip/sip_ua_layer.h
index ca6db080..08e692ca 100644
--- a/pjsip/include/pjsip/sip_ua_layer.h
+++ b/pjsip/include/pjsip/sip_ua_layer.h
@@ -79,6 +79,25 @@ PJ_DECL(pj_status_t) pjsip_ua_init_module(pjsip_endpoint *endpt,
*/
PJ_DECL(pjsip_user_agent*) pjsip_ua_instance(void);
+
+/**
+ * Lock the dialog's hash table. This function is normally called by
+ * dialog code only.
+ *
+ * @return PJ_SUCCESS on success or the appropriate error code.
+ */
+PJ_DECL(pj_status_t) pjsip_ua_lock_dlg_table(void);
+
+
+/**
+ * Unlock the dialog's hash table. This function is normally called by
+ * dialog code only.
+ *
+ * @return PJ_SUCCESS on success or the appropriate error code.
+ */
+PJ_DECL(pj_status_t) pjsip_ua_unlock_dlg_table(void);
+
+
/**
* Destroy the user agent layer.
*