summaryrefslogtreecommitdiff
path: root/pjlib/src
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2011-10-25 12:14:12 +0000
committerNanang Izzuddin <nanang@teluu.com>2011-10-25 12:14:12 +0000
commit7670782f12da1065083caa6b216a2017ad87aa33 (patch)
tree39ca3eb7ff66289c5612b7007680905612089ab3 /pjlib/src
parenta77ba02553b155a261e63a26eed3ec1ab16de64b (diff)
Re #1394: Ignore thread join if called from the same thread, it will cause the thread blocks forever.
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3855 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib/src')
-rw-r--r--pjlib/src/pj/os_core_win32.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pjlib/src/pj/os_core_win32.c b/pjlib/src/pj/os_core_win32.c
index 866afb99..30992a4f 100644
--- a/pjlib/src/pj/os_core_win32.c
+++ b/pjlib/src/pj/os_core_win32.c
@@ -559,6 +559,9 @@ PJ_DEF(pj_status_t) pj_thread_join(pj_thread_t *p)
PJ_CHECK_STACK();
PJ_ASSERT_RETURN(p, PJ_EINVAL);
+ if (p == pj_thread_this())
+ return PJ_ECANCELLED;
+
PJ_LOG(6, (pj_thread_this()->obj_name, "Joining thread %s", p->obj_name));
rc = WaitForSingleObject(rec->hthread, INFINITE);