mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 05:22:25 +01:00
de135a120a
mem0pool.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes os0file.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes os0shm.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes os0sync.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes os0thread.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes page0page.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes que0que.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes row0ins.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes row0mysql.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes row0sel.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes row0upd.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes row0vers.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes srv0srv.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes srv0start.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes sync0arr.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes sync0rw.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes sync0sync.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes trx0rec.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes trx0trx.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes srv0srv.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes sync0rw.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes sync0sync.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes ut0dbg.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes lock0lock.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes log0log.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes log0recv.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes ibuf0ibuf.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes buf0buf.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes buf0buf.ic Fixes for 64-bit Linux, bug fixes, compiler warning fixes hash0hash.ic Fixes for 64-bit Linux, bug fixes, compiler warning fixes mach0data.ic Fixes for 64-bit Linux, bug fixes, compiler warning fixes mem0mem.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes mem0pool.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes mtr0mtr.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes os0file.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes os0sync.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes os0sync.ic Fixes for 64-bit Linux, bug fixes, compiler warning fixes os0thread.h Fixes for 64-bit Linux, bug fixes, compiler warning fixes univ.i Fixes for 64-bit Linux, bug fixes, compiler warning fixes row0mysql.ic Fixes for 64-bit Linux, bug fixes, compiler warning fixes com0shm.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes data0data.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes data0type.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes dict0crea.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes dict0dict.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes fil0fil.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes fsp0fsp.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes fut0lst.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes btr0sea.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes buf0buf.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes buf0flu.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes btr0btr.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes btr0cur.c Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/btr/btr0btr.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/btr/btr0cur.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/btr/btr0sea.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/buf/buf0buf.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/buf/buf0flu.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/com/com0shm.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/data/data0data.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/data/data0type.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/dict/dict0crea.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/dict/dict0dict.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/fil/fil0fil.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/fsp/fsp0fsp.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/fut/fut0lst.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/ibuf/ibuf0ibuf.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/buf0buf.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/buf0buf.ic: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/hash0hash.ic: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/mach0data.ic: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/mem0mem.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/mem0pool.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/mtr0mtr.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/os0file.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/os0sync.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/os0sync.ic: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/os0thread.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/row0mysql.ic: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/univ.i: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/srv0srv.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/sync0rw.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/sync0sync.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/include/ut0dbg.h: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/lock/lock0lock.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/log/log0log.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/log/log0recv.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/mem/mem0pool.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/os/os0file.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/os/os0shm.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/os/os0sync.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/os/os0thread.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/page/page0page.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/que/que0que.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/row/row0ins.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/row/row0mysql.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/row/row0sel.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/row/row0upd.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/row/row0vers.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/srv/srv0srv.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/srv/srv0start.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/sync/sync0arr.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/sync/sync0rw.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/sync/sync0sync.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/trx/trx0rec.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/trx/trx0trx.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes innobase/ut/ut0ut.c: Fixes for 64-bit Linux, bug fixes, compiler warning fixes
78 lines
1.6 KiB
C
78 lines
1.6 KiB
C
/*********************************************************************
|
|
Debug utilities for Innobase
|
|
|
|
(c) 1994, 1995 Innobase Oy
|
|
|
|
Created 1/30/1994 Heikki Tuuri
|
|
**********************************************************************/
|
|
|
|
#ifndef ut0dbg_h
|
|
#define ut0dbg_h
|
|
|
|
#include <assert.h>
|
|
#include <stdlib.h>
|
|
#include "univ.i"
|
|
#include "os0thread.h"
|
|
|
|
extern ulint ut_dbg_zero; /* This is used to eliminate
|
|
compiler warnings */
|
|
extern ibool ut_dbg_stop_threads;
|
|
|
|
extern ulint* ut_dbg_null_ptr;
|
|
|
|
|
|
#define ut_a(EXPR)\
|
|
{\
|
|
ulint dbg_i;\
|
|
\
|
|
if (!((ulint)(EXPR) + ut_dbg_zero)) {\
|
|
/* printf(\
|
|
"Assertion failure in thread %lu in file %s line %lu\n",\
|
|
os_thread_get_curr_id(), IB__FILE__, (ulint)__LINE__);\
|
|
printf(\
|
|
"we generate a memory trap on purpose to start the debugger\n");*/\
|
|
ut_dbg_stop_threads = TRUE;\
|
|
dbg_i = *(ut_dbg_null_ptr);\
|
|
if (dbg_i) {\
|
|
ut_dbg_null_ptr = NULL;\
|
|
}\
|
|
}\
|
|
if (ut_dbg_stop_threads) {\
|
|
printf("Thread %lu stopped in file %s line %lu\n",\
|
|
os_thread_get_curr_id(), IB__FILE__, (ulint)__LINE__);\
|
|
os_thread_sleep(1000000000);\
|
|
}\
|
|
}
|
|
|
|
#define ut_error {\
|
|
ulint dbg_i;\
|
|
printf(\
|
|
"Assertion failure in thread %lu in file %s line %lu\n",\
|
|
os_thread_get_curr_id(), IB__FILE__, (ulint)__LINE__);\
|
|
printf("Generates memory trap on purpose for stack debugging\n");\
|
|
ut_dbg_stop_threads = TRUE;\
|
|
dbg_i = *(ut_dbg_null_ptr);\
|
|
printf("%lu", dbg_i);\
|
|
}
|
|
|
|
|
|
|
|
#ifdef UNIV_DEBUG
|
|
#define ut_ad(EXPR) ut_a(EXPR)
|
|
#define ut_d(EXPR) {EXPR;}
|
|
#else
|
|
#define ut_ad(EXPR)
|
|
#define ut_d(EXPR)
|
|
#endif
|
|
|
|
|
|
#define UT_NOT_USED(A) A = A
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|