X-Git-Url: https://code.delx.au/pulseaudio/blobdiff_plain/019331d25b6af107fb8cacc3ada552e7567a64bf..9362bdc8a1d5bd1ce213c517e1999644728193a2:/src/pulsecore/memtrap.c diff --git a/src/pulsecore/memtrap.c b/src/pulsecore/memtrap.c index 4fc18210..87ea4fe6 100644 --- a/src/pulsecore/memtrap.c +++ b/src/pulsecore/memtrap.c @@ -24,7 +24,10 @@ #endif #include + +#ifdef HAVE_SYS_MMAN_H #include +#endif /* This is deprecated on glibc but is still used by FreeBSD */ #if !defined(MAP_ANONYMOUS) && defined(MAP_ANON) @@ -58,14 +61,16 @@ static void allocate_aupdate(void) { } PA_ONCE_END; } -pa_bool_t pa_memtrap_is_good(pa_memtrap *m) { +bool pa_memtrap_is_good(pa_memtrap *m) { pa_assert(m); return !pa_atomic_load(&m->bad); } +#ifdef HAVE_SIGACTION static void sigsafe_error(const char *s) { - (void) write(STDERR_FILENO, s, strlen(s)); + size_t ret PA_GCC_UNUSED; + ret = write(STDERR_FILENO, s, strlen(s)); } static void signal_handler(int sig, siginfo_t* si, void *data) { @@ -102,6 +107,7 @@ fail: sigsafe_error("Failed to handle SIGBUS.\n"); abort(); } +#endif static void memtrap_link(pa_memtrap *m, unsigned j) { pa_assert(m); @@ -144,7 +150,7 @@ pa_memtrap* pa_memtrap_add(const void *start, size_t size) { allocate_aupdate(); - mx = pa_static_mutex_get(&mutex, FALSE, TRUE); + mx = pa_static_mutex_get(&mutex, false, true); pa_mutex_lock(mx); j = pa_aupdate_write_begin(aupdate); @@ -166,7 +172,7 @@ void pa_memtrap_remove(pa_memtrap *m) { allocate_aupdate(); - mx = pa_static_mutex_get(&mutex, FALSE, TRUE); + mx = pa_static_mutex_get(&mutex, false, true); pa_mutex_lock(mx); j = pa_aupdate_write_begin(aupdate); @@ -194,7 +200,7 @@ pa_memtrap *pa_memtrap_update(pa_memtrap *m, const void *start, size_t size) { allocate_aupdate(); - mx = pa_static_mutex_get(&mutex, FALSE, TRUE); + mx = pa_static_mutex_get(&mutex, false, true); pa_mutex_lock(mx); j = pa_aupdate_write_begin(aupdate); @@ -221,6 +227,7 @@ unlock: } void pa_memtrap_install(void) { +#ifdef HAVE_SIGACTION struct sigaction sa; allocate_aupdate(); @@ -230,4 +237,5 @@ void pa_memtrap_install(void) { sa.sa_flags = SA_RESTART|SA_SIGINFO; pa_assert_se(sigaction(SIGBUS, &sa, NULL) == 0); +#endif }