X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2FmemoryDebug.c;h=d4e828f1aeb127ce84a8c00c41059e49a12518d2;hp=c42559233023cc0c7e013c29f2974423082bc9af;hb=HEAD;hpb=86e88e38cf7b9b9e43279874074987adac5c7d55 diff --git a/src/memoryDebug.c b/src/memoryDebug.c index c425592..d4e828f 100644 --- a/src/memoryDebug.c +++ b/src/memoryDebug.c @@ -81,9 +81,10 @@ void xfree(void *mem_ref) { free(mem_ref); } - static void add_mem_info(void *mem_ref, unsigned int size, const char *file, unsigned int line) { - SYNCHRONIZE(synchronized); + #ifdef HAVE_THREADS + pthread_mutex_lock(&synchronized); + #endif struct MemoryLeak *mem_leak_info = malloc(sizeof(*mem_leak_info)); own_allocated_memleaks++; mem_leak_info->mem_info.address = mem_ref; @@ -92,11 +93,15 @@ static void add_mem_info(void *mem_ref, unsigned int size, const char *file, uns mem_leak_info->mem_info.line = line; mem_leak_info->next = ptr_start; ptr_start = mem_leak_info; - DESYNCHRONIZE(synchronized); + #ifdef HAVE_THREADS + pthread_mutex_unlock(&synchronized); + #endif } static void remove_mem_info(void *mem_ref) { - SYNCHRONIZE(synchronized); + #ifdef HAVE_THREADS + pthread_mutex_lock(&synchronized); + #endif struct MemoryLeak *leak_info, *next, *prev = NULL; for(leak_info = ptr_start; leak_info; leak_info = next) { next = leak_info->next; @@ -111,7 +116,9 @@ static void remove_mem_info(void *mem_ref) { } else prev = leak_info; } - DESYNCHRONIZE(synchronized); + #ifdef HAVE_THREADS + pthread_mutex_unlock(&synchronized); + #endif } void initMemoryDebug() { @@ -119,7 +126,9 @@ void initMemoryDebug() { } struct memoryInfoFiles *getMemoryInfoFiles() { - SYNCHRONIZE(synchronized); + #ifdef HAVE_THREADS + pthread_mutex_lock(&synchronized); + #endif struct MemoryLeak *leak_info; struct memoryInfoFiles *list = NULL, *element; for(leak_info = ptr_start; leak_info != NULL; leak_info = leak_info->next) { @@ -145,7 +154,9 @@ struct memoryInfoFiles *getMemoryInfoFiles() { element->allocated = own_allocated_memleaks * sizeof(struct MemoryLeak); element->next = list; list = element; - DESYNCHRONIZE(synchronized); + #ifdef HAVE_THREADS + pthread_mutex_unlock(&synchronized); + #endif return list; } @@ -159,7 +170,9 @@ void freeMemoryInfoFiles(struct memoryInfoFiles *files) { } struct memoryInfoLines *getMemoryInfoLines(const char *filename) { - SYNCHRONIZE(synchronized); + #ifdef HAVE_THREADS + pthread_mutex_lock(&synchronized); + #endif struct MemoryLeak *leak_info; struct memoryInfoLines *list = NULL, *element; for(leak_info = ptr_start; leak_info != NULL; leak_info = leak_info->next) { @@ -187,7 +200,9 @@ struct memoryInfoLines *getMemoryInfoLines(const char *filename) { element->next = list; list = element; } - DESYNCHRONIZE(synchronized); + #ifdef HAVE_THREADS + pthread_mutex_unlock(&synchronized); + #endif return list; }