Commit f9f2bd19 authored by Konstantin Osipov's avatar Konstantin Osipov

Backport of:

-----------------------------------------------------------
2497.479.10 Sergei Golubchik    2008-08-27
            proc_info_hook, mysys access to thd->proc_info

This patch is necessary for backport of WL#4284 "Transactional
DDL locking".


include/my_global.h:
  proc_info_hook
include/my_sys.h:
   proc_info_hook
mysys/my_static.c:
  proc_info_hook
sql/mysqld.cc:
  proc_info_hook
sql/sql_class.cc:
  proc_info_hook
parent c52d4830
...@@ -235,6 +235,9 @@ extern void (*fatal_error_handler_hook)(uint my_err, const char *str, ...@@ -235,6 +235,9 @@ extern void (*fatal_error_handler_hook)(uint my_err, const char *str,
extern uint my_file_limit; extern uint my_file_limit;
extern ulong my_thread_stack_size; extern ulong my_thread_stack_size;
extern const char *(*proc_info_hook)(void *, const char *, const char *,
const char *, const unsigned int);
#ifdef HAVE_LARGE_PAGES #ifdef HAVE_LARGE_PAGES
extern my_bool my_use_large_pages; extern my_bool my_use_large_pages;
extern uint my_large_page_size; extern uint my_large_page_size;
......
...@@ -92,6 +92,19 @@ void (*error_handler_hook)(uint error,const char *str,myf MyFlags)= ...@@ -92,6 +92,19 @@ void (*error_handler_hook)(uint error,const char *str,myf MyFlags)=
void (*fatal_error_handler_hook)(uint error,const char *str,myf MyFlags)= void (*fatal_error_handler_hook)(uint error,const char *str,myf MyFlags)=
my_message_no_curses; my_message_no_curses;
static const char *proc_info_dummy(void *a __attribute__((unused)),
const char *b __attribute__((unused)),
const char *c __attribute__((unused)),
const char *d __attribute__((unused)),
const unsigned int e __attribute__((unused)))
{
return 0;
}
/* this is to be able to call set_thd_proc_info from the C code */
const char *(*proc_info_hook)(void *, const char *, const char *, const char *,
const unsigned int)= proc_info_dummy;
#if defined(ENABLED_DEBUG_SYNC) #if defined(ENABLED_DEBUG_SYNC)
/** /**
Global pointer to be set if callback function is defined Global pointer to be set if callback function is defined
......
...@@ -3828,6 +3828,10 @@ static int init_server_components() ...@@ -3828,6 +3828,10 @@ static int init_server_components()
} }
} }
proc_info_hook= (const char *(*)(void *, const char *, const char *,
const char *, const unsigned int))
set_thd_proc_info;
if (xid_cache_init()) if (xid_cache_init())
{ {
sql_print_error("Out of memory"); sql_print_error("Out of memory");
......
...@@ -252,6 +252,9 @@ const char *set_thd_proc_info(THD *thd, const char *info, ...@@ -252,6 +252,9 @@ const char *set_thd_proc_info(THD *thd, const char *info,
const char *calling_file, const char *calling_file,
const unsigned int calling_line) const unsigned int calling_line)
{ {
if (!thd)
thd= current_thd;
const char *old_info= thd->proc_info; const char *old_info= thd->proc_info;
DBUG_PRINT("proc_info", ("%s:%d %s", calling_file, calling_line, DBUG_PRINT("proc_info", ("%s:%d %s", calling_file, calling_line,
(info != NULL) ? info : "(null)")); (info != NULL) ? info : "(null)"));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment