Re: [Sofia-sip-devel] Managing call legs in multi-threaded environment

2008-12-17 Thread Aleksander Morgado
>>> You have to obtain the root (via su_root_obtain()) that is used by nta >>> in order to access the nta objects in safe manner. (The original >>> thread used to create the root object must first release it with >>> su_root_release()). >> >> Like locking/unlocking a mutex, understood. >> >> I gues

Re: [Sofia-sip-devel] Managing call legs in multi-threaded environment

2008-12-12 Thread Pekka Pessi
2008/12/11 Aleksander Morgado : >> You have to obtain the root (via su_root_obtain()) that is used by nta >> in order to access the nta objects in safe manner. (The original >> thread used to create the root object must first release it with >> su_root_release()). > > Like locking/unlocking a mutex

Re: [Sofia-sip-devel] Managing call legs in multi-threaded environment

2008-12-11 Thread Aleksander Morgado
>> >> In a brief, is making the home of NTA agent thread-safe enough for all >> those situations? > > Unfortunately no. The nta functions are thread-safe in the mean that > they do not use any shared global data, the nta objects like nta_leg_t > or nta_agent_t are not thead-safe. > > You have to ob

Re: [Sofia-sip-devel] Managing call legs in multi-threaded environment

2008-12-11 Thread Pekka Pessi
2008/12/9 Aleksander Morgado <[EMAIL PROTECTED]>: > After creating a NTA agent with a thread-safe home, is it ok to assume > that any other thread can call nta_leg_destroy() without any > synchronism problem? > > What if nta_leg_destroy() is called from a given thread, and meanwhile > the "main" th