From 9ad76aa0cf1c31d6a594bf6759928aa2d2b213f1 Mon Sep 17 00:00:00 2001 From: orignal Date: Thu, 26 Jun 2014 15:41:12 -0400 Subject: [PATCH] avoid race condition --- TransitTunnel.cpp | 3 ++- TransitTunnel.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/TransitTunnel.cpp b/TransitTunnel.cpp index 65b0be4f..ddd7d90e 100644 --- a/TransitTunnel.cpp +++ b/TransitTunnel.cpp @@ -48,6 +48,7 @@ namespace tunnel TunnelMessageBlock block; block.deliveryType = eDeliveryTypeLocal; block.data = msg; + std::unique_lock l(m_SendMutex); m_Gateway.SendTunnelDataMsg (block); } @@ -81,4 +82,4 @@ namespace tunnel } } } -} \ No newline at end of file +} diff --git a/TransitTunnel.h b/TransitTunnel.h index ebd7ffd5..3d3571f7 100644 --- a/TransitTunnel.h +++ b/TransitTunnel.h @@ -2,6 +2,7 @@ #define TRANSIT_TUNNEL_H__ #include +#include #include "aes.h" #include "I2NPProtocol.h" #include "TunnelEndpoint.h" @@ -55,6 +56,7 @@ namespace tunnel private: + std::mutex m_SendMutex; TunnelGateway m_Gateway; };