below is gdb trace. I use two thread to call pjsip_endpt_handle_events() func. And one thread call pj_thread_sleep when handle on_tsx_state_changed callback At this time another thread seems bock at mutex_lock_wait. regards, Gang (gdb) bt #0 0x009b47a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x00a5b5b6 in __nanosleep_nocancel () from /lib/tls/libc.so.6 #2 0x00a91a1a in usleep () from /lib/tls/libc.so.6 #3 0x0809673b in pj_thread_sleep (msec=180000000) at ../src/pj/os_core_unix.c:710 #4 0x0805875d in inv_session_on_tsx_state_changed_wrapper (inv=0x5, tsx=0x0, e=0xb7b7cad8) at sip_inv_cb.cpp:871 #5 0x080a5b64 in typeinfo name for SingletonBase () #6 0x00000005 in ?? () #7 0x00000000 in ?? () (gdb) thread 4 [Switching to thread 4 (Thread -1213740112 (LWP 2502))]#0 0x009b47a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 (gdb) bt #0 0x009b47a2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2 #1 0x00c1d13e in __lll_mutex_lock_wait () from /lib/tls/libpthread.so.0 #2 0x00c19da7 in _L_mutex_lock_179 () from /lib/tls/libpthread.so.0 #3 0x00a91151 in ___newselect_nocancel () from /lib/tls/libc.so.6 #4 0x08096c17 in pj_mutex_lock (mutex=0xb7e206c4) at ../src/pj/os_core_unix.c:1186 #5 0x080983bf in ioqueue_dispatch_read_event (ioqueue=0xb7e20060, h=0xb7e2060c) at ../src/pj/ioqueue_common_abs.c:398 #6 0x080993e2 in pj_ioqueue_poll (ioqueue=0xb7e20060, timeout=0x0) at ../src/pj/ioqueue_select.c:763 #7 0xb7e20078 in ?? () #8 0x00000000 in ?? () On Tue, Dec 9, 2008 at 11:43 AM, Gang Liu <gangban.lau at gmail.com> wrote: > Hi, > When I use pj_thread_sleep() at invite session callback > on_tsx_state_changed to wait for some external resource, this action causes > other sip threads block too.Is it possible? or I miss something? > > > regards, > Gang > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20081211/af301a26/attachment.html>