Clean up warnings in the malloc_debug_* files.
Also clean up cpplint.py-detected lint.
Change-Id: Ia18e89c4c6878764f8d7ed34b8247e7a8d8fe88b
diff --git a/libc/bionic/malloc_debug_common.h b/libc/bionic/malloc_debug_common.h
index c78846b..45b4e36 100644
--- a/libc/bionic/malloc_debug_common.h
+++ b/libc/bionic/malloc_debug_common.h
@@ -33,10 +33,6 @@
#ifndef MALLOC_DEBUG_COMMON_H
#define MALLOC_DEBUG_COMMON_H
-#ifdef __cplusplus
-extern "C" {
-#endif
-
#define HASHTABLE_SIZE 1543
#define BACKTRACE_SIZE 32
/* flag definitions, currently sharing storage with "size" */
@@ -49,7 +45,6 @@
// Structures
// =============================================================================
-typedef struct HashEntry HashEntry;
struct HashEntry {
size_t slot;
HashEntry* prev;
@@ -61,25 +56,23 @@
intptr_t backtrace[0];
};
-typedef struct HashTable HashTable;
struct HashTable {
size_t count;
HashEntry* slots[HASHTABLE_SIZE];
};
/* Entry in malloc dispatch table. */
-typedef struct MallocDebug MallocDebug;
+typedef void* (*MallocDebugMalloc)(size_t);
+typedef void (*MallocDebugFree)(void*);
+typedef void* (*MallocDebugCalloc)(size_t, size_t);
+typedef void* (*MallocDebugRealloc)(void*, size_t);
+typedef void* (*MallocDebugMemalign)(size_t, size_t);
struct MallocDebug {
- /* Address of the actual malloc routine. */
- void* (*malloc)(size_t bytes);
- /* Address of the actual free routine. */
- void (*free)(void* mem);
- /* Address of the actual calloc routine. */
- void* (*calloc)(size_t n_elements, size_t elem_size);
- /* Address of the actual realloc routine. */
- void* (*realloc)(void* oldMem, size_t bytes);
- /* Address of the actual memalign routine. */
- void* (*memalign)(size_t alignment, size_t bytes);
+ MallocDebugMalloc malloc;
+ MallocDebugFree free;
+ MallocDebugCalloc calloc;
+ MallocDebugRealloc realloc;
+ MallocDebugMemalign memalign;
};
/* Malloc debugging initialization and finalization routines.
@@ -94,8 +87,8 @@
* MallocDebugInit returns:
* 0 on success, -1 on failure.
*/
-typedef int (*MallocDebugInit)(void);
-typedef void (*MallocDebugFini)(void);
+typedef int (*MallocDebugInit)();
+typedef void (*MallocDebugFini)();
// =============================================================================
// log functions
@@ -108,8 +101,18 @@
#define info_log(format, ...) \
__libc_android_log_print(ANDROID_LOG_INFO, "malloc_leak_check", (format), ##__VA_ARGS__ )
-#ifdef __cplusplus
-}; /* end of extern "C" */
-#endif
+class ScopedPthreadMutexLocker {
+ public:
+ explicit ScopedPthreadMutexLocker(pthread_mutex_t* mu) : mu_(mu) {
+ pthread_mutex_lock(mu_);
+ }
+
+ ~ScopedPthreadMutexLocker() {
+ pthread_mutex_unlock(mu_);
+ }
+
+ private:
+ pthread_mutex_t* mu_;
+};
#endif // MALLOC_DEBUG_COMMON_H