I know the reason now. By default ioqueue select don't enable PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY. Only ioqueue winnt implementation enable this by default. I am using pjsip 0.9.0 release. regards, Gang On Thu, Dec 11, 2008 at 1:01 PM, Gang Liu <gangban.lau at gmail.com> wrote: > And I also check that my config_site.h didn't change default setting > PJ_IOQUEUE_DEFAULT_ALLOW_CONCURRENCY > So I think concurrency setting of that key is allow many threads to call > callback of that key at > the same time. > But at my test, my pj_thread_sleep cause any SIP incoming request can't be > handled. > > regards, > Gang > > > On Thu, Dec 11, 2008 at 12:28 PM, Gang Liu <gangban.lau at gmail.com> wrote: > >> 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/20081212/ad761871/attachment.html>