diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index ba9ecfa1d27f41722f1ca8eae886e9c6fbd3fdcd..d39b4ecd17f2cbcd4b47cdcba03a64d9fd9768db 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -318,14 +318,8 @@ my_bool	opt_console= 0, opt_bdb, opt_innodb, opt_isam;
 
 volatile bool  mqh_used = 0;
 FILE *bootstrap_file=0;
-int segfaulted = 0; // ensure we do not enter SIGSEGV handler twice
 
-/*
-  If sql_bin_update is true, SQL_LOG_UPDATE and SQL_LOG_BIN are kept in sync,
-  and are treated as aliases for each other
-*/
-
-static bool kill_in_progress=FALSE;
+static bool kill_in_progress=0, segfaulted= 0;
 struct rand_struct sql_rand; // used by sql_class.cc:THD::THD()
 static int cleanup_done;
 static char **defaults_argv;
@@ -379,7 +373,7 @@ arg_cmp_func Arg_comparator::comparator_matrix[4][2] =
  {&Arg_comparator::compare_row, &Arg_comparator::compare_e_row}};
 #ifdef HAVE_SMEM
 char *shared_memory_base_name=default_shared_memory_base_name;
-bool opt_enable_shared_memory = 0;
+my_bool opt_enable_shared_memory = 0;
 #endif
 
 volatile ulong cached_thread_count=0;
diff --git a/sql/sql_list.h b/sql/sql_list.h
index 6eb4f98c011618c9c28584e7753faeccf6361a8f..f4cca6275151472938e4534d8d404c6da5ea966b 100644
--- a/sql/sql_list.h
+++ b/sql/sql_list.h
@@ -319,7 +319,8 @@ template <class T> class I_List_iterator;
 class base_ilist {
   public:
   struct ilink *first,last;
-  base_ilist() { first= &last; last.prev= &first; }
+  inline void empty() { first= &last; last.prev= &first; }
+  base_ilist() { empty(); }
   inline bool is_empty() {  return first == &last; }
   inline void append(ilink *a)
   {