1. Do not hold the static HttpSession::mutex_ when doing a
HttpSession::Send() in HttpSession::SessionSend()
since the send can fail and call the session close handler -
HttpSession::OnSessionEvent() which again tries to acquire the
HttpSession::mutex_ resulting in a deadlock. This was added as
part of commit 943e011 on bitbucket, to prevent the session
from getting deleted in another thread. To prevent the same
store HttpSessionPtr in the HttpSession map instead of the raw
pointer. Rename HttpSession::mutex_ to map_mutex_.
2. Remove code to acquire HttpSession::mutex_ in OnRead(),
destructor, and FromQ since it was being used to protect the
request_queue_ which is a concurrent queue and hence there is
no need to protect it using mutex.

Closes-Bug: #1359183
Change-Id: I682ec60f4570a8b9c9e277e06c896af62d7f3c18
Merge "1. Do not hold the static HttpSession::mutex_ when doing a HttpSession::Send() in HttpSession::SessionSend() since the send can fail and call the session close handler - HttpSession::OnSessionEvent() which again tries to acquire the HttpSession::mutex_ resulting in a deadlock. This was added as part of commit 943e011 on bitbucket, to prevent the session from getting deleted in another thread. To prevent the same store HttpSessionPtr in the HttpSession map instead of the raw pointer. Rename HttpSession::mutex_ to map_mutex_. 2. Remove code to acquire HttpSession::mutex_ in OnRead(), destructor, and FromQ since it was being used to protect the request_queue_ which is a concurrent queue and hence there is no need to protect it using mutex."