From 23657e8c33b2702ad2477ac0c375cbf575dee616 Mon Sep 17 00:00:00 2001 From: "heikki@hundin.mysql.fi" <> Date: Thu, 31 Oct 2002 12:03:34 +0200 Subject: srv0start.h, srv0start.c, ha_innodb.cc: Add check that sizeof(trx_t) is the same in ha_inndob.cc and InnoDB compilation modules --- innobase/include/srv0start.h | 2 ++ innobase/srv/srv0start.c | 11 +++++++++++ 2 files changed, 13 insertions(+) (limited to 'innobase') diff --git a/innobase/include/srv0start.h b/innobase/include/srv0start.h index 646d2c1bb06..24cdecb7341 100644 --- a/innobase/include/srv0start.h +++ b/innobase/include/srv0start.h @@ -79,6 +79,8 @@ innobase_shutdown_for_mysql(void); /*=============================*/ /* out: DB_SUCCESS or error code */ +extern ulint srv_sizeof_trx_t_in_ha_innodb_cc; + extern ibool srv_startup_is_before_trx_rollback_phase; extern ibool srv_is_being_shut_down; diff --git a/innobase/srv/srv0start.c b/innobase/srv/srv0start.c index d6d610bb5b8..cad946b1e54 100644 --- a/innobase/srv/srv0start.c +++ b/innobase/srv/srv0start.c @@ -56,6 +56,8 @@ Created 2/16/1996 Heikki Tuuri #include "srv0start.h" #include "que0que.h" +ulint srv_sizeof_trx_t_in_ha_innodb_cc; + ibool srv_startup_is_before_trx_rollback_phase = FALSE; ibool srv_is_being_started = FALSE; ibool srv_was_started = FALSE; @@ -960,6 +962,15 @@ innobase_start_or_create_for_mysql(void) "InnoDB: !!!!!!!!!!!!!! UNIV_MEM_DEBUG switched on !!!!!!!!!!!!!!!\n"); #endif + if (srv_sizeof_trx_t_in_ha_innodb_cc != (ulint)sizeof(trx_t)) { + fprintf(stderr, + "InnoDB: Error: trx_t size is %lu in ha_innodb.cc but %lu in srv0start.c\n" + "InnoDB: Check that pthread_mutex_t is defined in the same way in these\n" + "InnoDB: compilation modules. Cannot continue.\n", + srv_sizeof_trx_t_in_ha_innodb_cc, (ulint)sizeof(trx_t)); + return(DB_ERROR); + } + log_do_write = TRUE; /* yydebug = TRUE; */ -- cgit v1.2.1