From 3da4eef70072d713700219fb061cc497235477a3 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 21 May 2007 10:51:11 +0200 Subject: Fix for bug#28075 COM_DEBUG crashes mysqld Uninitialized in the constructor member variables were pointing to nirvana and causing a crash when debug information of the Event Scheduler was dumped in result to COM_DEBUG packet sent to the server. sql/event_queue.cc: Initialize member variables or they will point to nirvana and could possible cause a crash during dumping of debug information. sql/event_queue.h: remove unneeded line sql/event_scheduler.cc: Initialize member variables or they will point to nirvana and could possible cause a crash during dumping of debug information. sql/event_scheduler.h: remove unneeded state --- sql/event_queue.cc | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'sql/event_queue.cc') diff --git a/sql/event_queue.cc b/sql/event_queue.cc index 5593e80b41b..40cb9040eef 100644 --- a/sql/event_queue.cc +++ b/sql/event_queue.cc @@ -70,10 +70,14 @@ event_queue_element_compare_q(void *vptr, byte* a, byte *b) */ Event_queue::Event_queue() - :mutex_last_locked_at_line(0), mutex_last_unlocked_at_line(0), + :next_activation_at(0), + mutex_last_locked_at_line(0), + mutex_last_unlocked_at_line(0), + mutex_last_locked_in_func("n/a"), + mutex_last_unlocked_in_func("n/a"), + mutex_last_attempted_lock_in_func("n/a"), mutex_last_attempted_lock_at_line(0), mutex_queue_data_locked(FALSE), - next_activation_at(0), mutex_queue_data_attempting_lock(FALSE) { mutex_last_unlocked_in_func= mutex_last_locked_in_func= @@ -739,8 +743,11 @@ Event_queue::dump_internal_status() MYSQL_TIME time; my_tz_UTC->gmt_sec_to_TIME(&time, next_activation_at); - printf("Next activation : %04d-%02d-%02d %02d:%02d:%02d\n", - time.year, time.month, time.day, time.hour, time.minute, time.second); + if (time.year != 1970) + printf("Next activation : %04d-%02d-%02d %02d:%02d:%02d\n", + time.year, time.month, time.day, time.hour, time.minute, time.second); + else + printf("Next activation : never"); DBUG_VOID_RETURN; } -- cgit v1.2.1