summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorAlexander Nozdrin <alik@sun.com>2009-11-10 10:31:33 +0300
committerAlexander Nozdrin <alik@sun.com>2009-11-10 10:31:33 +0300
commitb712dce3d57335d3957afe94d1c3200880aebe99 (patch)
treeb118b585c21710f0fef58c3d009fdd39a4578791 /mysys
parent49bb8cba8e964bec96c1ca9cdc486b3a468dd822 (diff)
parentd476bbb0becb27d7d3cb1fc5cc0ac4d401622893 (diff)
downloadmariadb-git-b712dce3d57335d3957afe94d1c3200880aebe99.tar.gz
Auto-merge from mysql-next-mr.
Diffstat (limited to 'mysys')
-rw-r--r--mysys/my_error.c23
-rw-r--r--mysys/my_thr_init.c9
2 files changed, 32 insertions, 0 deletions
diff --git a/mysys/my_error.c b/mysys/my_error.c
index ff9156faf82..e2523a39d0b 100644
--- a/mysys/my_error.c
+++ b/mysys/my_error.c
@@ -126,6 +126,29 @@ void my_printf_error(uint error, const char *format, myf MyFlags, ...)
}
/*
+ Error with va_list
+
+ SYNOPSIS
+ my_printv_error()
+ error Errno
+ format Format string
+ MyFlags Flags
+ ... variable list
+*/
+
+void my_printv_error(uint error, const char *format, myf MyFlags, va_list ap)
+{
+ char ebuff[ERRMSGSIZE];
+ DBUG_ENTER("my_printv_error");
+ DBUG_PRINT("my", ("nr: %d MyFlags: %d errno: %d format: %s",
+ error, MyFlags, errno, format));
+
+ (void) my_vsnprintf(ebuff, sizeof(ebuff), format, ap);
+ (*error_handler_hook)(error, ebuff, MyFlags);
+ DBUG_VOID_RETURN;
+}
+
+/*
Give message using error_handler_hook
SYNOPSIS
diff --git a/mysys/my_thr_init.c b/mysys/my_thr_init.c
index f37ba111993..b2972faf0f8 100644
--- a/mysys/my_thr_init.c
+++ b/mysys/my_thr_init.c
@@ -387,6 +387,15 @@ const char *my_thread_name(void)
}
return tmp->name;
}
+
+/* Return pointer to DBUG for holding current state */
+
+extern void **my_thread_var_dbug()
+{
+ struct st_my_thread_var *tmp=
+ my_pthread_getspecific(struct st_my_thread_var*,THR_KEY_mysys);
+ return tmp && tmp->init ? &tmp->dbug : 0;
+}
#endif /* DBUG_OFF */