瀏覽代碼

- shm_resize fix merged from testing_0_8_12

Andrei Pelinescu-Onciul 22 年之前
父節點
當前提交
e85f083411
共有 2 個文件被更改,包括 11 次插入5 次删除
  1. 1 2
      mem/shm_mem.c
  2. 10 3
      mem/shm_mem.h

+ 1 - 2
mem/shm_mem.c

@@ -89,8 +89,7 @@ inline static void* sh_realloc(void* p, unsigned int size)
 */
 */
 
 
 #ifdef DBG_QM_MALLOC
 #ifdef DBG_QM_MALLOC
-void* _shm_resize( void* p, unsigned int s, char* file, char* func,
-					unsigned int line)
+void* _shm_resize( void* p, unsigned int s, char* file, char* func, int line)
 #else
 #else
 void* _shm_resize( void* p , unsigned int s)
 void* _shm_resize( void* p , unsigned int s)
 #endif
 #endif

+ 10 - 3
mem/shm_mem.h

@@ -29,6 +29,8 @@
  * History:
  * History:
  * --------
  * --------
  *  2003-06-29  added shm_realloc & replaced shm_resize (andrei)
  *  2003-06-29  added shm_realloc & replaced shm_resize (andrei)
+ *  2003-11-19  reverted shm_resize to the old version, using
+ *               realloc causes terrible fragmentation  (andrei)
  */
  */
 
 
 
 
@@ -165,11 +167,14 @@ do { \
 
 
 
 
 
 
-#define shm_resize(_p, _s ) shm_realloc( (_p), (_s))
+void* _shm_resize(void* ptr, unsigned int size, char* f, char* fn, int line);
+#define shm_resize(_p, _s ) _shm_resize((_p), (_s), \
+		__FILE__, __FUNCTION__, __LINE__ )
+/*#define shm_resize(_p, _s ) shm_realloc( (_p), (_s))*/
 
 
 
 
 
 
-#else
+#else /*DBQ_QM_MALLOC*/
 
 
 
 
 #define shm_malloc_unsafe(_size) MY_MALLOC(shm_block, (_size))
 #define shm_malloc_unsafe(_size) MY_MALLOC(shm_block, (_size))
@@ -207,7 +212,9 @@ do { \
 
 
 
 
 
 
-#define shm_resize(_p, _s) shm_realloc( (_p), (_s))
+void* _shm_resize(void* ptr, unsigned int size);
+#define shm_resize(_p, _s) _shm_resize( (_p), (_s))
+/*#define shm_resize(_p, _s) shm_realloc( (_p), (_s))*/
 
 
 
 
 #endif
 #endif