From dd2836c4c153566420efcdbe68173b29adcb24e5 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 12 Jun 2003 22:39:45 +0300 Subject: Changed safemalloc structure to not have to be 8 byte aligned. (Portability problem) include/my_sys.h: Changed safe_malloc variables to start with sf_ mysys/default.c: Use safemalloc (as we use dynamic_arrays() that uses it inderectly anyway) mysys/my_static.c: Changed safe_malloc variables to start with sf_ mysys/my_static.h: Changed safe_malloc variables to start with sf_ Changed safemalloc structure to not have to be 8 byte aligned mysys/safemalloc.c: Changed safemalloc structure to not have to be 8 byte aligned. (portability fix) BIG code cleanup sql/mysqld.cc: Changed safe_malloc variables to start with sf_ sql/sql_parse.cc: Changed safe_malloc variables to start with sf_ --- mysys/my_static.h | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) (limited to 'mysys/my_static.h') diff --git a/mysys/my_static.h b/mysys/my_static.h index c1893f4074f..1a33bcf21f3 100644 --- a/mysys/my_static.h +++ b/mysys/my_static.h @@ -33,27 +33,23 @@ struct st_remember { }; /* - The size of the following structure MUST be dividable by 8 to not cause - alignment problems on some cpu's + Structure that stores information of a allocated memory block + The data is at &struct_adr+sizeof(ALIGN_SIZE(sizeof(struct irem))) + The lspecialvalue is at the previous 4 bytes from this, which may not + necessarily be in the struct if the struct size isn't aligned at a 8 byte + boundary. */ -struct irem +struct st_irem { - struct remember *_pNext; /* Linked list of structures */ - struct remember *_pPrev; /* Other link */ - char *_sFileName; /* File in which memory was new'ed */ - uint32 _uLineNum; /* Line number in above file */ - uint32 _uDataSize; /* Size requested */ -#if SIZEOF_CHARP == 8 - long _filler; /* For alignment */ -#endif - long _lSpecialValue; /* Underrun marker value */ + struct st_irem *next; /* Linked list of structures */ + struct st_irem *prev; /* Other link */ + char *filename; /* File in which memory was new'ed */ + uint32 linenum; /* Line number in above file */ + uint32 datasize; /* Size requested */ + uint32 SpecialValue; /* Underrun marker value */ }; -struct remember { - struct irem tInt; - char aData[1]; -}; extern char NEAR curr_dir[FN_REFLEN],NEAR home_dir_buff[FN_REFLEN]; @@ -70,8 +66,8 @@ extern int _my_tempnam_used; #endif extern byte *sf_min_adress,*sf_max_adress; -extern uint cNewCount; -extern struct remember *pRememberRoot; +extern uint sf_malloc_count; +extern struct st_irem *sf_malloc_root; #if defined(THREAD) && !defined(__WIN__) extern sigset_t my_signals; /* signals blocked by mf_brkhant */ -- cgit v1.2.1