Path: blob/main/databases/db18/files/patch-src_dbinc_mutex__int.h
16461 views
--- src/dbinc/mutex_int.h.orig 2016-03-28 19:45:54 UTC1+++ src/dbinc/mutex_int.h2@@ -9,6 +9,7 @@3#ifndef _DB_MUTEX_INT_H_4#define _DB_MUTEX_INT_H_56+#include <machine/atomic.h>7#include "dbinc/atomic.h"89#if defined(__cplusplus)10@@ -506,11 +507,11 @@ typedef unsigned int tsl_t;11#define MUTEX_UNSET(tsl) (*(volatile tsl_t *)(tsl) = 0)12#define MUTEX_INIT(tsl) (MUTEX_UNSET(tsl), 0)13#define MUTEX_MEMBAR(x) \14- ({ __asm__ volatile ("dsb"); })15+ dsb(x)16#define MEMBAR_ENTER() \17- ({ __asm__ volatile ("dsb"); })18+ dsb()19#define MEMBAR_EXIT() \20- ({ __asm__ volatile ("dsb"); })21+ dsb()22#endif23#endif2425@@ -652,7 +652,7 @@ MUTEX_SET(int *tsl) {26: "=&r" (__r), "+r" (tsl)27:28: "cr0", "memory");29- return (int)tsl;30+ return (tsl != 0);31}3233static inline int343536