summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-08-12 13:58:56 +0000
committerBenny Prijono <bennylp@teluu.com>2006-08-12 13:58:56 +0000
commitf77f77a8dca11496350643b20c5c9c488f53e7f1 (patch)
tree409b23e0cd6508577fb84fcc0174e5ccd09fc48e
parent7da238dc72999218826690a46fe6538470ecde1e (diff)
Improved logging consistency and added more logging info in verbosity 6
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@675 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjlib/src/pj/os_core_unix.c43
-rw-r--r--pjsip/src/pjsip/sip_dialog.c2
-rw-r--r--pjsip/src/pjsip/sip_transaction.c2
3 files changed, 37 insertions, 10 deletions
diff --git a/pjlib/src/pj/os_core_unix.c b/pjlib/src/pj/os_core_unix.c
index 0dba048e..2b640cbc 100644
--- a/pjlib/src/pj/os_core_unix.c
+++ b/pjlib/src/pj/os_core_unix.c
@@ -79,6 +79,7 @@ struct pj_mutex_t
#if PJ_DEBUG
int nesting_level;
pj_thread_t *owner;
+ char owner_name[PJ_MAX_OBJ_NAME];
#endif
};
@@ -978,20 +979,35 @@ PJ_DEF(pj_status_t) pj_mutex_lock(pj_mutex_t *mutex)
PJ_CHECK_STACK();
PJ_ASSERT_RETURN(mutex, PJ_EINVAL);
+#if PJ_DEBUG
+ PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is waiting (mutex owner=%s)",
+ pj_thread_this()->obj_name,
+ mutex->owner_name));
+#else
PJ_LOG(6,(mutex->obj_name, "Mutex: thread %s is waiting",
pj_thread_this()->obj_name));
+#endif
status = pthread_mutex_lock( &mutex->mutex );
- PJ_LOG(6,(mutex->obj_name,
- (status==0 ? "Mutex acquired by thread %s" : "FAILED by %s"),
- pj_thread_this()->obj_name));
#if PJ_DEBUG
if (status == PJ_SUCCESS) {
mutex->owner = pj_thread_this();
+ pj_ansi_strcpy(mutex->owner_name, mutex->owner->obj_name);
++mutex->nesting_level;
}
+
+ PJ_LOG(6,(mutex->obj_name,
+ (status==0 ?
+ "Mutex acquired by thread %s (level=%d)" :
+ "Mutex acquisition FAILED by %s (level=%d)"),
+ pj_thread_this()->obj_name,
+ mutex->nesting_level));
+#else
+ PJ_LOG(6,(mutex->obj_name,
+ (status==0 ? "Mutex acquired by thread %s" : "FAILED by %s"),
+ pj_thread_this()->obj_name));
#endif
if (status == 0)
@@ -1019,11 +1035,16 @@ PJ_DEF(pj_status_t) pj_mutex_unlock(pj_mutex_t *mutex)
pj_assert(mutex->owner == pj_thread_this());
if (--mutex->nesting_level == 0) {
mutex->owner = NULL;
+ mutex->owner_name[0] = '\0';
}
-#endif
+ PJ_LOG(6,(mutex->obj_name, "Mutex released by thread %s (level=%d)",
+ pj_thread_this()->obj_name,
+ mutex->nesting_level));
+#else
PJ_LOG(6,(mutex->obj_name, "Mutex released by thread %s",
pj_thread_this()->obj_name));
+#endif
status = pthread_mutex_unlock( &mutex->mutex );
if (status == 0)
@@ -1051,12 +1072,17 @@ PJ_DEF(pj_status_t) pj_mutex_trylock(pj_mutex_t *mutex)
status = pthread_mutex_trylock( &mutex->mutex );
if (status==0) {
- PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s",
- pj_thread_this()->obj_name));
-
#if PJ_DEBUG
mutex->owner = pj_thread_this();
+ pj_ansi_strcpy(mutex->owner_name, mutex->owner->obj_name);
++mutex->nesting_level;
+
+ PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s (level=%d)",
+ pj_thread_this()->obj_name,
+ mutex->nesting_level));
+#else
+ PJ_LOG(6,(mutex->obj_name, "Mutex acquired by thread %s",
+ pj_thread_this()->obj_name));
#endif
}
@@ -1081,7 +1107,8 @@ PJ_DEF(pj_status_t) pj_mutex_destroy(pj_mutex_t *mutex)
PJ_ASSERT_RETURN(mutex, PJ_EINVAL);
#if PJ_HAS_THREADS
- PJ_LOG(6,(mutex->obj_name, "Mutex destroyed"));
+ PJ_LOG(6,(mutex->obj_name, "Mutex destroyed by thread %s",
+ pj_thread_this()->obj_name));
status = pthread_mutex_destroy( &mutex->mutex );
if (status == 0)
return PJ_SUCCESS;
diff --git a/pjsip/src/pjsip/sip_dialog.c b/pjsip/src/pjsip/sip_dialog.c
index fd70c767..6cc76141 100644
--- a/pjsip/src/pjsip/sip_dialog.c
+++ b/pjsip/src/pjsip/sip_dialog.c
@@ -80,7 +80,7 @@ static pj_status_t create_dialog( pjsip_user_agent *ua,
pj_list_init(&dlg->inv_hdr);
- status = pj_mutex_create_recursive(pool, "dlg%p", &dlg->mutex_);
+ status = pj_mutex_create_recursive(pool, dlg->obj_name, &dlg->mutex_);
if (status != PJ_SUCCESS)
goto on_error;
diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c
index 211749fe..82722332 100644
--- a/pjsip/src/pjsip/sip_transaction.c
+++ b/pjsip/src/pjsip/sip_transaction.c
@@ -905,7 +905,7 @@ static pj_status_t tsx_create( pjsip_module *tsx_user,
tsx->timeout_timer.user_data = tsx;
tsx->timeout_timer.cb = &tsx_timer_callback;
- status = pj_mutex_create_recursive(pool, "tsx%p", &tsx->mutex);
+ status = pj_mutex_create_recursive(pool, tsx->obj_name, &tsx->mutex);
if (status != PJ_SUCCESS) {
pjsip_endpt_release_pool(mod_tsx_layer.endpt, pool);
return status;