MXS-1775 Move thread main function to maxscale::MonitorInstance
This commit is contained in:
@ -30,6 +30,10 @@ public:
|
||||
protected:
|
||||
MonitorInstance(MXS_MONITOR* pMonitor);
|
||||
|
||||
virtual void main() = 0;
|
||||
|
||||
static void main(void* pArg);
|
||||
|
||||
int m_status; /**< The current status of the monitor. */
|
||||
THREAD m_thread; /**< The thread handle of the monitoring thread. */
|
||||
MXS_MONITOR* m_monitor; /**< The generic monitor structure. */
|
||||
|
@ -2522,4 +2522,10 @@ MonitorInstance::~MonitorInstance()
|
||||
ss_dassert(!m_script);
|
||||
}
|
||||
|
||||
//static
|
||||
void MonitorInstance::main(void* pArg)
|
||||
{
|
||||
static_cast<MonitorInstance*>(pArg)->main();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -119,12 +119,6 @@ void update_server_status(MXS_MONITOR *monitor, MXS_MONITORED_SERVER *database)
|
||||
*
|
||||
* @param arg The MONITOR object for this monitor
|
||||
*/
|
||||
//static
|
||||
void AuroraMonitor::main(void* data)
|
||||
{
|
||||
static_cast<AuroraMonitor*>(data)->main();
|
||||
}
|
||||
|
||||
void AuroraMonitor::main()
|
||||
{
|
||||
if (mysql_thread_init())
|
||||
@ -210,7 +204,7 @@ bool AuroraMonitor::start(const MXS_CONFIG_PARAMETER *params)
|
||||
m_script = config_copy_string(params, "script");
|
||||
m_events = config_get_enum(params, "events", mxs_monitor_event_enum_values);
|
||||
|
||||
if (thread_start(&m_thread, &AuroraMonitor::main, this, 0) == NULL)
|
||||
if (thread_start(&m_thread, &maxscale::MonitorInstance::main, this, 0) == NULL)
|
||||
{
|
||||
MXS_ERROR("Failed to start monitor thread for monitor '%s'.", m_monitor->name);
|
||||
MXS_FREE(m_script);
|
||||
|
@ -38,5 +38,4 @@ private:
|
||||
~AuroraMonitor();
|
||||
|
||||
void main();
|
||||
static void main(void* data);
|
||||
};
|
||||
|
@ -189,7 +189,7 @@ bool GaleraMonitor::start(const MXS_CONFIG_PARAMETER *params)
|
||||
/* Reset all data in the hashtable */
|
||||
reset_cluster_info();
|
||||
|
||||
if (thread_start(&m_thread, &GaleraMonitor::main, this, 0) == NULL)
|
||||
if (thread_start(&m_thread, &maxscale::MonitorInstance::main, this, 0) == NULL)
|
||||
{
|
||||
MXS_ERROR("Failed to start monitor thread for monitor '%s'.", m_monitor->name);
|
||||
}
|
||||
@ -503,12 +503,6 @@ void GaleraMonitor::monitorDatabase(MXS_MONITORED_SERVER *database)
|
||||
*
|
||||
* @param arg The handle of the monitor
|
||||
*/
|
||||
//static
|
||||
void GaleraMonitor::main(void* arg)
|
||||
{
|
||||
return static_cast<GaleraMonitor*>(arg)->main();
|
||||
}
|
||||
|
||||
void GaleraMonitor::main()
|
||||
{
|
||||
MXS_MONITORED_SERVER *ptr;
|
||||
|
@ -93,5 +93,4 @@ private:
|
||||
void update_sst_donor_nodes(int is_cluster);
|
||||
|
||||
void main();
|
||||
static void main(void* data);
|
||||
};
|
||||
|
@ -57,7 +57,7 @@ bool GRMon::start(const MXS_CONFIG_PARAMETER* params)
|
||||
m_events = config_get_enum(params, "events", mxs_monitor_event_enum_values);
|
||||
m_thread = 0;
|
||||
|
||||
if (thread_start(&m_thread, GRMon::main, this, 0) != NULL)
|
||||
if (thread_start(&m_thread, &maxscale::MonitorInstance::main, this, 0) != NULL)
|
||||
{
|
||||
started = true;
|
||||
}
|
||||
@ -65,12 +65,6 @@ bool GRMon::start(const MXS_CONFIG_PARAMETER* params)
|
||||
return started;
|
||||
}
|
||||
|
||||
void GRMon::main(void* data)
|
||||
{
|
||||
GRMon* mon = (GRMon*)data;
|
||||
mon->main();
|
||||
}
|
||||
|
||||
void GRMon::stop()
|
||||
{
|
||||
ss_dassert(m_thread);
|
||||
|
@ -41,5 +41,4 @@ private:
|
||||
~GRMon();
|
||||
|
||||
void main();
|
||||
static void main(void* data);
|
||||
};
|
||||
|
@ -139,7 +139,7 @@ bool MMMonitor::start(const MXS_CONFIG_PARAMETER *params)
|
||||
m_script = config_copy_string(params, "script");
|
||||
m_events = config_get_enum(params, "events", mxs_monitor_event_enum_values);
|
||||
|
||||
if (thread_start(&m_thread, MMMonitor::main, this, 0) == NULL)
|
||||
if (thread_start(&m_thread, &maxscale::MonitorInstance::main, this, 0) == NULL)
|
||||
{
|
||||
MXS_ERROR("Failed to start monitor thread for monitor '%s'.", m_monitor->name);
|
||||
MXS_FREE(m_script);
|
||||
@ -492,11 +492,6 @@ monitorDatabase(MXS_MONITOR* mon, MXS_MONITORED_SERVER *database)
|
||||
*
|
||||
* @param arg The handle of the monitor
|
||||
*/
|
||||
void MMMonitor::main(void* arg)
|
||||
{
|
||||
static_cast<MMMonitor*>(arg)->main();
|
||||
}
|
||||
|
||||
void MMMonitor::main()
|
||||
{
|
||||
MXS_MONITOR* mon = m_monitor;
|
||||
|
@ -44,5 +44,4 @@ private:
|
||||
MXS_MONITORED_SERVER *get_current_master();
|
||||
|
||||
void main();
|
||||
static void main(void* data);
|
||||
};
|
||||
|
@ -122,7 +122,7 @@ bool NDBCMonitor::start(const MXS_CONFIG_PARAMETER *params)
|
||||
m_script = config_copy_string(params, "script");
|
||||
m_events = config_get_enum(params, "events", mxs_monitor_event_enum_values);
|
||||
|
||||
if (thread_start(&m_thread, &NDBCMonitor::main, this, 0) == NULL)
|
||||
if (thread_start(&m_thread, &maxscale::MonitorInstance::main, this, 0) == NULL)
|
||||
{
|
||||
MXS_ERROR("Failed to start monitor thread for monitor '%s'.", m_monitor->name);
|
||||
MXS_FREE(m_script);
|
||||
@ -298,12 +298,6 @@ monitorDatabase(MXS_MONITORED_SERVER *database, char *defaultUser, char *default
|
||||
*
|
||||
* @param arg The handle of the monitor
|
||||
*/
|
||||
//static
|
||||
void NDBCMonitor::main(void* arg)
|
||||
{
|
||||
static_cast<NDBCMonitor*>(arg)->main();
|
||||
}
|
||||
|
||||
void NDBCMonitor::main()
|
||||
{
|
||||
MXS_MONITORED_SERVER *ptr;
|
||||
|
@ -41,5 +41,4 @@ private:
|
||||
~NDBCMonitor();
|
||||
|
||||
void main();
|
||||
static void main(void* data);
|
||||
};
|
||||
|
Reference in New Issue
Block a user