Thread problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux