Browse Source

add mutex to channel numbering

Grant Limberg 6 years ago
parent
commit
cda07b20a2
2 changed files with 10 additions and 3 deletions
  1. 5 2
      controller/RabbitMQ.cpp
  2. 5 1
      controller/RabbitMQ.hpp

+ 5 - 2
controller/RabbitMQ.cpp

@@ -48,7 +48,10 @@ void RabbitMQ::init()
     }
 
     static int chan = 0;
-    _channel = ++chan;
+	{
+		Mutex::Lock l(_chan_m);
+    	_channel = ++chan;
+	}
     amqp_channel_open(_conn, _channel);
     r = amqp_get_rpc_reply(_conn);
     if(r.reply_type != AMQP_RESPONSE_NORMAL) {
@@ -88,4 +91,4 @@ std::string RabbitMQ::consume()
     return msg;
 }
 
-}
+}

+ 5 - 1
controller/RabbitMQ.hpp

@@ -36,9 +36,10 @@ struct MQConfig {
 };
 }
 
-
 #ifdef ZT_CONTROLLER_USE_LIBPQ
 
+#include "../node/Mutex.hpp"
+
 #include <amqp.h>
 #include <amqp_tcp_socket.h>
 #include <string>
@@ -65,6 +66,9 @@ private:
     int _status;
 
     int _channel;
+
+	Mutex _chan_m;
+
 };
 
 }