bring back socket mutex which is needed, some CI failures are happening without it

This commit is contained in:
Benjamin Sergeant 2019-05-16 15:58:20 -07:00
parent e0edca43d5
commit aecd5e9c94

View File

@ -130,6 +130,8 @@ namespace ix
WebSocketInitResult WebSocketTransport::connectToUrl(const std::string& url,
int timeoutSecs)
{
std::lock_guard<std::mutex> lock(_socketMutex);
std::string protocol, host, path, query;
int port;
@ -140,16 +142,13 @@ namespace ix
}
std::string errorMsg;
{
bool tls = protocol == "wss";
// std::lock_guard<std::mutex> lock(_socketMutex);
_socket = createSocket(tls, errorMsg);
if (!_socket)
{
return WebSocketInitResult(false, 0, errorMsg);
}
}
WebSocketHandshake webSocketHandshake(_requestInitCancellation,
_socket,
@ -169,19 +168,18 @@ namespace ix
// Server
WebSocketInitResult WebSocketTransport::connectToSocket(int fd, int timeoutSecs)
{
std::lock_guard<std::mutex> lock(_socketMutex);
// Server should not mask the data it sends to the client
_useMask = false;
std::string errorMsg;
{
// std::lock_guard<std::mutex> lock(_socketMutex);
_socket = createSocket(fd, errorMsg);
if (!_socket)
{
return WebSocketInitResult(false, 0, errorMsg);
}
}
WebSocketHandshake webSocketHandshake(_requestInitCancellation,
_socket,
@ -962,7 +960,7 @@ namespace ix
ssize_t WebSocketTransport::send()
{
// std::lock_guard<std::mutex> lock(_socketMutex);
std::lock_guard<std::mutex> lock(_socketMutex);
return _socket->send((char*)&_txbuf[0], _txbuf.size());
}
@ -1016,7 +1014,7 @@ namespace ix
void WebSocketTransport::closeSocket()
{
// std::lock_guard<std::mutex> lock(_socketMutex);
std::lock_guard<std::mutex> lock(_socketMutex);
_socket->close();
}