Commit 1c313f03 authored by unknown's avatar unknown
Browse files

Merge bk-internal.mysql.com:/home/bk/mysql-5.0

into  mysql.com:/opt/local/work/mysql-5.0-root


sql/sql_class.cc:
  Auto merged
parents aa4da5f7 0633a41c
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3446,6 +3446,7 @@ pthread_handler_t handle_slave_io(void *arg)
  THD_CHECK_SENTRY(thd);

  pthread_detach_this_thread();
  thd->thread_stack= (char*) &thd; // remember where our stack is
  if (init_slave_thread(thd, SLAVE_THD_IO))
  {
    pthread_cond_broadcast(&mi->start_cond);
@@ -3454,7 +3455,6 @@ pthread_handler_t handle_slave_io(void *arg)
    goto err;
  }
  mi->io_thd = thd;
  thd->thread_stack = (char*)&thd; // remember where our stack is
  pthread_mutex_lock(&LOCK_thread_count);
  threads.append(thd);
  pthread_mutex_unlock(&LOCK_thread_count);
+2 −0
Original line number Diff line number Diff line
@@ -158,6 +158,7 @@ my_bool acl_init(bool dont_read_acl_tables)
  */
  if (!(thd=new THD))
    DBUG_RETURN(1); /* purecov: inspected */
  thd->thread_stack= (char*) &thd;
  thd->store_globals();
  /*
    It is safe to call acl_reload() since acl_* arrays and hashes which
@@ -3263,6 +3264,7 @@ my_bool grant_init()

  if (!(thd= new THD))
    DBUG_RETURN(1);				/* purecov: deadcode */
  thd->thread_stack= (char*) &thd;
  thd->store_globals();
  return_val=  grant_reload(thd);
  delete thd;
+6 −0
Original line number Diff line number Diff line
@@ -517,6 +517,12 @@ void THD::awake(THD::killed_state state_to_set)

bool THD::store_globals()
{
  /*
    Assert that thread_stack is initialized: it's necessary to be able
    to track stack overrun.
  */
  DBUG_ASSERT(this->thread_stack);

  if (my_pthread_setspecific_ptr(THR_THD,  this) ||
      my_pthread_setspecific_ptr(THR_MALLOC, &mem_root))
    return 1;
+1 −0
Original line number Diff line number Diff line
@@ -1723,6 +1723,7 @@ pthread_handler_t handle_delayed_insert(void *arg)
#endif

  DBUG_ENTER("handle_delayed_insert");
  thd->thread_stack= (char*) &thd;
  if (init_thr_lock() || thd->store_globals())
  {
    thd->fatal_error();
+5 −1
Original line number Diff line number Diff line
@@ -1097,6 +1097,7 @@ pthread_handler_t handle_one_connection(void *arg)
  VOID(sigemptyset(&set));			// Get mask in use
  VOID(pthread_sigmask(SIG_UNBLOCK,&set,&thd->block_signals));
#endif
  thd->thread_stack= (char*) &thd;
  if (thd->store_globals())
  {
    close_connection(thd, ER_OUT_OF_RESOURCES, 1);
@@ -1110,7 +1111,6 @@ pthread_handler_t handle_one_connection(void *arg)
    int error;
    NET *net= &thd->net;
    Security_context *sctx= thd->security_ctx;
    thd->thread_stack= (char*) &thd;
    net->no_send_error= 0;

    if ((error=check_connection(thd)))
@@ -5288,6 +5288,7 @@ bool check_stack_overrun(THD *thd, long margin,
			 char *buf __attribute__((unused)))
{
  long stack_used;
  DBUG_ASSERT(thd == current_thd);
  if ((stack_used=used_stack(thd->thread_stack,(char*) &stack_used)) >=
      (long) (thread_stack - margin))
  {
@@ -6737,7 +6738,10 @@ bool reload_acl_and_cache(THD *thd, ulong options, TABLE_LIST *tables,
      allocate temporary THD for execution of acl_reload()/grant_reload().
    */
    if (!thd && (thd= (tmp_thd= new THD)))
    {
      thd->thread_stack= (char*) &tmp_thd;
      thd->store_globals();
    }
    if (thd)
    {
      (void)acl_reload(thd);
Loading