]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#1861] use CS in Mysql CB dbReconnect handler
authorRazvan Becheriu <razvan@isc.org>
Fri, 4 Jun 2021 12:46:07 +0000 (15:46 +0300)
committerRazvan Becheriu <razvan@isc.org>
Mon, 21 Jun 2021 20:18:31 +0000 (20:18 +0000)
src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc
src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc

index 309291da94b994a1dbad5c16e049cbf219f195ef..c74bcbbe97303d2abaf78452a5ed77d37ef482ab 100644 (file)
@@ -26,6 +26,7 @@
 #include <dhcpsrv/timer_mgr.h>
 #include <util/buffer.h>
 #include <util/boost_time_utils.h>
+#include <util/multi_threading_mgr.h>
 #include <mysql/mysql_connection.h>
 #include <boost/date_time/posix_time/posix_time.hpp>
 #include <boost/lexical_cast.hpp>
@@ -2344,6 +2345,8 @@ public:
     /// configured reconnect parameters.
     /// @return true if connection has been recovered, false otherwise.
     static bool dbReconnect(ReconnectCtlPtr db_reconnect_ctl) {
+        MultiThreadingCriticalSection cs;
+
         // Invoke application layer connection lost callback.
         if (!DatabaseConnection::invokeDbLostCallback(db_reconnect_ctl)) {
             return (false);
index 21036525f9042628db8bac345e21779f41e705d7..1c7f385f19697d393b0e4b98d13473da90636b5b 100644 (file)
@@ -27,6 +27,7 @@
 #include <dhcpsrv/timer_mgr.h>
 #include <util/buffer.h>
 #include <util/boost_time_utils.h>
+#include <util/multi_threading_mgr.h>
 #include <mysql/mysql_connection.h>
 #include <boost/date_time/posix_time/posix_time.hpp>
 #include <boost/lexical_cast.hpp>
@@ -2787,6 +2788,8 @@ public:
     /// configured reconnect parameters.
     /// @return true if connection has been recovered, false otherwise.
     static bool dbReconnect(ReconnectCtlPtr db_reconnect_ctl) {
+        MultiThreadingCriticalSection cs;
+
         // Invoke application layer connection lost callback.
         if (!DatabaseConnection::invokeDbLostCallback(db_reconnect_ctl)) {
             return (false);