diff --git a/include/mysql_thread.h b/include/mysql_thread.h index 05c774125..81f50386d 100644 --- a/include/mysql_thread.h +++ b/include/mysql_thread.h @@ -247,6 +247,13 @@ typedef void destroy_MySQL_Thread_t(MySQL_Thread *); #define __CLASS_STANDARD_MYSQL_THREAD_H class Standard_MySQL_Thread: public MySQL_Thread { + private: + MySQL_Connection **my_idle_conns; + MySQL_Data_Stream **my_idle_myds; + bool processing_idles; + unsigned long long last_processing_idles; + PtrArray *mysql_sessions_connections_handler; + public: // Standard_MySQL_Thread(); // ~Standard_MySQL_Thread(); diff --git a/lib/Makefile b/lib/Makefile index a4c3e26d1..e773cb9be 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -64,8 +64,8 @@ OBJ_CPP = $(patsubst %,$(ODIR)/%,$(_OBJ_CPP)) #_SHARED_OBJ= Standard_Query_Cache.ko Standard_MySQL_Thread.ko -Standard_ProxySQL_Admin.so: Standard_ProxySQL_Admin.ko Standard_MySQL_Thread.ko libproxysql.a - $(CPP) -shared -fPIC -o $@ $(CPPFLAGS) Standard_ProxySQL_Admin.ko Standard_MySQL_Thread.ko libproxysql.a -lcrypto $(LIBS) +Standard_ProxySQL_Admin.so: Standard_ProxySQL_Admin.ko Standard_MySQL_Thread.cpp libproxysql.a + $(CPP) -shared -fPIC -o $@ $(CPPFLAGS) Standard_ProxySQL_Admin.ko Standard_MySQL_Thread.cpp libproxysql.a -lcrypto $(LIBS) Standard_Query_Processor.so: Standard_Query_Processor.ko libproxysql.a $(CPP) -shared -fPIC -o $@ $(CPPFLAGS) Standard_Query_Processor.ko libproxysql.a -lcrypto $(LIBS) -linjection diff --git a/lib/Standard_MySQL_Thread.cpp b/lib/Standard_MySQL_Thread.cpp index d41c1b7a5..dc77c2696 100644 --- a/lib/Standard_MySQL_Thread.cpp +++ b/lib/Standard_MySQL_Thread.cpp @@ -574,28 +574,7 @@ private: public: //ProxySQL_Poll mypolls; rwlock_t thread_mutex; -Standard_MySQL_Thread() { - spinlock_rwlock_init(&thread_mutex); - mypolls.len=0; - mypolls.size=0; - mypolls.fds=NULL; - mypolls.myds=NULL; - my_idle_conns=NULL; - my_idle_myds=NULL; - processing_idles=false; - last_processing_idles=0; - mysql_sessions_connections_handler=NULL; - __thread_MySQL_Thread_Variables_version=0; - mysql_thread___connect_timeout_server_error=NULL; - mysql_thread___server_version=NULL; -// GloQPro->init_thread(); -// MyConnPool=new MySQL_Connection_Pool(); - //events=NULL; -// mypolls.fds=NULL; -// mypolls.myds=NULL; -// mysql_sessions=NULL; -}; - + Standard_MySQL_Thread(); void refresh_variables() { GloMTH->wrlock(); __thread_MySQL_Thread_Variables_version=__global_MySQL_Thread_Variables_version; @@ -1025,6 +1004,29 @@ void process_all_sessions() { }; // end class Standard_MySQL_Thread +Standard_MySQL_Thread::Standard_MySQL_Thread() { + spinlock_rwlock_init(&thread_mutex); + mypolls.len=0; + mypolls.size=0; + mypolls.fds=NULL; + mypolls.myds=NULL; + my_idle_conns=NULL; + my_idle_myds=NULL; + processing_idles=false; + last_processing_idles=0; + mysql_sessions_connections_handler=NULL; + __thread_MySQL_Thread_Variables_version=0; + mysql_thread___connect_timeout_server_error=NULL; + mysql_thread___server_version=NULL; +// GloQPro->init_thread(); +// MyConnPool=new MySQL_Connection_Pool(); + //events=NULL; +// mypolls.fds=NULL; +// mypolls.myds=NULL; +// mysql_sessions=NULL; +} + + void Standard_MySQL_Thread::process_all_sessions_connections_handler() { unsigned int n; int rc;