Bug 28

Summary: TurnSocket acquires mutexes incorrectly
Product: resiprocate Reporter: Chris <ccotter>
Component: stack (libresip)Assignee: Owner of all unassigned bugs <unassigned>
Status: NEW ---    
Severity: major    
Priority: P1    
Version: unspecified   
Hardware: All   
OS: All   

Description Chris 2012-07-11 17:37:43 CDT
TurnSocket::sendTo(const asio::ip::address& address, unsigned short port, const char* buffer, unsigned int size) calls TurnSocket::sendTo(RemotePeer& remotePeer, const char* buffer, unsigned int size), leading to immediate deadlock every time. Both versions of sendTo acquire TurnSocket's mutex.

The solution is to refactor how the methods call each other and acquire the mutex...
Comment 1 Chris 2012-07-11 17:38:30 CDT
(In reply to comment #0)
> TurnSocket::sendTo(const asio::ip::address& address, unsigned short port, const
> char* buffer, unsigned int size) calls TurnSocket::sendTo(RemotePeer&
> remotePeer, const char* buffer, unsigned int size), leading to immediate
> deadlock every time. Both versions of sendTo acquire TurnSocket's mutex.
> 
> The solution is to refactor how the methods call each other and acquire the
> mutex...

See in version 1.7 reTurn/client/TurnSocket.cxx