summaryrefslogtreecommitdiff
path: root/innobase
diff options
context:
space:
mode:
authorheikki@donna.mysql.fi <>2001-04-06 20:37:31 +0300
committerheikki@donna.mysql.fi <>2001-04-06 20:37:31 +0300
commitae05b07fb718a1742e7f62969a7c49df6c000957 (patch)
tree2ea76af015747f83b5e9eba769ceccd905e2f9cc /innobase
parentae5ee2d2d5c06be1a5ab6e1e68e085f8737b18d8 (diff)
downloadmariadb-git-ae05b07fb718a1742e7f62969a7c49df6c000957.tar.gz
univ.i Prevent inlining of functions on HP-UX because GCC is broken there
configure.in Prevent inlining of functions on HP-UX because GCC is broken there trx0trx.h Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t trx0trx.c Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t ha_innobase.cc Fix trx->error_info in MySQL debug version: Innobase and ha_innobase.cc saw a different size for pthread_mutex_t
Diffstat (limited to 'innobase')
-rw-r--r--innobase/configure.in6
-rw-r--r--innobase/include/trx0trx.h8
-rw-r--r--innobase/include/univ.i2
-rw-r--r--innobase/trx/trx0trx.c11
4 files changed, 26 insertions, 1 deletions
diff --git a/innobase/configure.in b/innobase/configure.in
index f9e94d58682..645ac58483b 100644
--- a/innobase/configure.in
+++ b/innobase/configure.in
@@ -1,15 +1,21 @@
# Process this file with autoconf to produce a configure script
AC_INIT
+AC_CANONICAL_SYSTEM
AM_MAINTAINER_MODE
AM_CONFIG_HEADER(ib_config.h)
AM_INIT_AUTOMAKE(ib, 0.90)
AC_PROG_CC
AC_PROG_RANLIB
+AC_PROG_INSTALL
AC_CHECK_HEADERS(aio.h)
AC_CHECK_SIZEOF(int, 4)
AC_C_INLINE
AC_C_BIGENDIAN
+case "$target_os" in
+ hp*) AC_DEFINE(UNIV_MUST_NOT_INLINE, 1,
+ No inlining because gcc broken on HP-UX);;
+esac
AC_OUTPUT(Makefile os/Makefile ut/Makefile btr/Makefile
buf/Makefile com/Makefile data/Makefile
diff --git a/innobase/include/trx0trx.h b/innobase/include/trx0trx.h
index b74dea2319e..049dbc1476c 100644
--- a/innobase/include/trx0trx.h
+++ b/innobase/include/trx0trx.h
@@ -25,6 +25,14 @@ saving CPU time. The kernel mutex contention is increased, however. */
extern ulint trx_n_mysql_transactions;
/********************************************************************
+Retrieves the error_info field from a trx. */
+
+void*
+trx_get_error_info(
+/*===============*/
+ /* out: the error info */
+ trx_t* trx); /* in: trx object */
+/********************************************************************
Creates and initializes a transaction object. */
trx_t*
diff --git a/innobase/include/univ.i b/innobase/include/univ.i
index ce3390649ff..f24937ea0c8 100644
--- a/innobase/include/univ.i
+++ b/innobase/include/univ.i
@@ -76,7 +76,7 @@ subdirectory of 'mysql'. */
/* the above option enables basic recovery debugging:
new allocated file pages are reset */
-#if (!defined(UNIV_DEBUG) && !defined(INSIDE_HA_INNOBASE_CC))
+#if (!defined(UNIV_DEBUG) && !defined(INSIDE_HA_INNOBASE_CC) && !defined(UNIV_MUST_NOT_INLINE))
/* Definition for inline version */
#ifdef __WIN__
diff --git a/innobase/trx/trx0trx.c b/innobase/trx/trx0trx.c
index 4676606d4de..b365341d3b8 100644
--- a/innobase/trx/trx0trx.c
+++ b/innobase/trx/trx0trx.c
@@ -30,6 +30,17 @@ sess_t* trx_dummy_sess = NULL;
the kernel mutex */
ulint trx_n_mysql_transactions = 0;
+/********************************************************************
+Retrieves the error_info field from a trx. */
+
+void*
+trx_get_error_info(
+/*===============*/
+ /* out: the error info */
+ trx_t* trx) /* in: trx object */
+{
+ return(trx->error_info);
+}
/********************************************************************
Creates and initializes a transaction object. */