summaryrefslogtreecommitdiff
path: root/sql/event_queue.cc
diff options
context:
space:
mode:
authorunknown <andrey@whirlpool.mysql.com>2007-05-21 10:51:11 +0200
committerunknown <andrey@whirlpool.mysql.com>2007-05-21 10:51:11 +0200
commit3da4eef70072d713700219fb061cc497235477a3 (patch)
treefe97a37c60c26ae6368008b0300c3e22cc8dffc8 /sql/event_queue.cc
parent3d01594f349a540068943b1ba7ddea2ec2e448ef (diff)
downloadmariadb-git-3da4eef70072d713700219fb061cc497235477a3.tar.gz
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
Diffstat (limited to 'sql/event_queue.cc')
-rw-r--r--sql/event_queue.cc15
1 files changed, 11 insertions, 4 deletions
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;
}