Loading Docs/manual.texi +4 −2 Original line number Diff line number Diff line Loading @@ -7814,7 +7814,7 @@ Some known problems when running MySQL on Linux-Alpha: @itemize @bullet @item Debugging threaded applications like MySQL will not work with @code{gdb 4.18}. You should download and use gdb 5.0 instead! @code{gdb 4.18}. You should download and use gdb 5.1 instead! @item If you try linking @code{mysqld} statically when using @code{gcc}, the Loading Loading @@ -52064,7 +52064,9 @@ more information if @code{mysqld} crashes. With some older @code{gdb} versions on Linux you must use @code{run --one-thread} if you want to be able to debug @code{mysqld} threads. In this case you can only have one thread active at a time. this case you can only have one thread active at a time. We recommend you to upgrade to gdb 5.1 ASAP as thread debugging works much better with this version! When running @code{mysqld} under gdb, you should disable the stack trace with @code{--skip-stack-trace} to be able to catch segfaults within gdb. sql/lock.cc +1 −0 Original line number Diff line number Diff line Loading @@ -543,6 +543,7 @@ bool lock_global_read_lock(THD *thd) while (protect_against_global_read_lock && !thd->killed) pthread_cond_wait(&COND_refresh, &LOCK_open); waiting_for_read_lock--; thd->exit_cond(old_message); if (thd->killed) { (void) pthread_mutex_unlock(&LOCK_open); Loading sql/sql_select.cc +5 −13 Original line number Diff line number Diff line Loading @@ -4116,22 +4116,16 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure) if (error == -3) error=0; /* select_limit used */ } if (!table) /* If sending data to client */ { if (error < 0) join->result->send_error(0,NullS); /* purecov: inspected */ else { if (!table) // If sending data to client { join_free(join); // Unlock all cursors if (join->result->send_eof()) error= -1; } } else if (error < 0) join->result->send_error(0,NullS); /* purecov: inspected */ if (error >= 0) { DBUG_PRINT("info",("%ld records output",join->send_records)); } if (table) Loading Loading @@ -4226,10 +4220,8 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records) info->file->unlock_row(); } } while (!(error=info->read_record(info))); if (error > 0) // Fatal error return -1; } else if (error > 0) if (error > 0) // Fatal error return -1; if (!found && on_expr) Loading Loading
Docs/manual.texi +4 −2 Original line number Diff line number Diff line Loading @@ -7814,7 +7814,7 @@ Some known problems when running MySQL on Linux-Alpha: @itemize @bullet @item Debugging threaded applications like MySQL will not work with @code{gdb 4.18}. You should download and use gdb 5.0 instead! @code{gdb 4.18}. You should download and use gdb 5.1 instead! @item If you try linking @code{mysqld} statically when using @code{gcc}, the Loading Loading @@ -52064,7 +52064,9 @@ more information if @code{mysqld} crashes. With some older @code{gdb} versions on Linux you must use @code{run --one-thread} if you want to be able to debug @code{mysqld} threads. In this case you can only have one thread active at a time. this case you can only have one thread active at a time. We recommend you to upgrade to gdb 5.1 ASAP as thread debugging works much better with this version! When running @code{mysqld} under gdb, you should disable the stack trace with @code{--skip-stack-trace} to be able to catch segfaults within gdb.
sql/lock.cc +1 −0 Original line number Diff line number Diff line Loading @@ -543,6 +543,7 @@ bool lock_global_read_lock(THD *thd) while (protect_against_global_read_lock && !thd->killed) pthread_cond_wait(&COND_refresh, &LOCK_open); waiting_for_read_lock--; thd->exit_cond(old_message); if (thd->killed) { (void) pthread_mutex_unlock(&LOCK_open); Loading
sql/sql_select.cc +5 −13 Original line number Diff line number Diff line Loading @@ -4116,22 +4116,16 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure) if (error == -3) error=0; /* select_limit used */ } if (!table) /* If sending data to client */ { if (error < 0) join->result->send_error(0,NullS); /* purecov: inspected */ else { if (!table) // If sending data to client { join_free(join); // Unlock all cursors if (join->result->send_eof()) error= -1; } } else if (error < 0) join->result->send_error(0,NullS); /* purecov: inspected */ if (error >= 0) { DBUG_PRINT("info",("%ld records output",join->send_records)); } if (table) Loading Loading @@ -4226,10 +4220,8 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records) info->file->unlock_row(); } } while (!(error=info->read_record(info))); if (error > 0) // Fatal error return -1; } else if (error > 0) if (error > 0) // Fatal error return -1; if (!found && on_expr) Loading