Add RT signal to load heapprofd library.

Tests: Ran malloc_debug_unit_tests
Tests: Flashed to walleye, sent signal, observed
  "Unable to open shared library: heapprofd.so".

Change-Id: Ia8ce216837e29e3edbda8789ca28023d53fa1fda
diff --git a/libc/private/bionic_malloc_dispatch.h b/libc/private/bionic_malloc_dispatch.h
index 0dce03d..f15b72c 100644
--- a/libc/private/bionic_malloc_dispatch.h
+++ b/libc/private/bionic_malloc_dispatch.h
@@ -31,6 +31,7 @@
 
 #include <stddef.h>
 #include <stdint.h>
+#include <stdatomic.h>
 #include <private/bionic_config.h>
 
 // Entry in malloc dispatch table.
@@ -54,25 +55,25 @@
 #endif
 
 struct MallocDispatch {
-  MallocCalloc calloc;
-  MallocFree free;
-  MallocMallinfo mallinfo;
-  MallocMalloc malloc;
-  MallocMallocUsableSize malloc_usable_size;
-  MallocMemalign memalign;
-  MallocPosixMemalign posix_memalign;
+  _Atomic MallocCalloc calloc;
+  _Atomic MallocFree free;
+  _Atomic MallocMallinfo mallinfo;
+  _Atomic MallocMalloc malloc;
+  _Atomic MallocMallocUsableSize malloc_usable_size;
+  _Atomic MallocMemalign memalign;
+  _Atomic MallocPosixMemalign posix_memalign;
 #if defined(HAVE_DEPRECATED_MALLOC_FUNCS)
-  MallocPvalloc pvalloc;
+  _Atomic MallocPvalloc pvalloc;
 #endif
-  MallocRealloc realloc;
+  _Atomic MallocRealloc realloc;
 #if defined(HAVE_DEPRECATED_MALLOC_FUNCS)
-  MallocValloc valloc;
+  _Atomic MallocValloc valloc;
 #endif
-  MallocIterate iterate;
-  MallocMallocDisable malloc_disable;
-  MallocMallocEnable malloc_enable;
-  MallocMallopt mallopt;
-  MallocAlignedAlloc aligned_alloc;
+  _Atomic MallocIterate iterate;
+  _Atomic MallocMallocDisable malloc_disable;
+  _Atomic MallocMallocEnable malloc_enable;
+  _Atomic MallocMallopt mallopt;
+  _Atomic MallocAlignedAlloc aligned_alloc;
 } __attribute__((aligned(32)));
 
 #endif
diff --git a/libc/private/sigrtmin.h b/libc/private/sigrtmin.h
index 431a1dd..67bd864 100644
--- a/libc/private/sigrtmin.h
+++ b/libc/private/sigrtmin.h
@@ -39,11 +39,12 @@
 //   33 (__SIGRTMIN + 1)        libbacktrace
 //   34 (__SIGRTMIN + 2)        libcore
 //   35 (__SIGRTMIN + 3)        debuggerd -b
+//   36 (__SIGRTMIN + 4)        heapprofd
 //
 // If you change this, also change __ndk_legacy___libc_current_sigrtmin
 // in <android/legacy_signal_inlines.h> to match.
 
-#define __SIGRT_RESERVED 4
+#define __SIGRT_RESERVED 5
 static inline __always_inline sigset64_t filter_reserved_signals(sigset64_t sigset, int how) {
   int (*block)(sigset64_t*, int);
   int (*unblock)(sigset64_t*, int);
@@ -68,5 +69,6 @@
   unblock(&sigset, __SIGRTMIN + 1);
   unblock(&sigset, __SIGRTMIN + 2);
   unblock(&sigset, __SIGRTMIN + 3);
+  unblock(&sigset, __SIGRTMIN + 4);
   return sigset;
 }