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