Add extern "C" to support linking userspace RCU library with C++ applications
[urcu.git] / urcu-static.h
index 30bd7fddbea5372c08aff936751e79225893a314..dec8a204166d2f2c9848227a7629c53057164958 100644 (file)
 #include <urcu/compiler.h>
 #include <urcu/arch.h>
 #include <urcu/system.h>
-#include <urcu/arch_uatomic.h>
+#include <urcu/uatomic_arch.h>
 #include <urcu/list.h>
+#include <urcu/urcu-futex.h>
 
-#define futex(...)             syscall(__NR_futex, __VA_ARGS__)
-#define FUTEX_WAIT             0
-#define FUTEX_WAKE             1
+#ifdef __cplusplus
+extern "C" {
+#endif 
 
 /*
  * This code section can only be included in LGPL 2.1 compatible source code.
@@ -182,7 +183,7 @@ static inline void wake_up_gp(void)
 {
        if (unlikely(uatomic_read(&gp_futex) == -1)) {
                uatomic_set(&gp_futex, 0);
-               futex(&gp_futex, FUTEX_WAKE, 1,
+               futex_async(&gp_futex, FUTEX_WAKE, 1,
                      NULL, NULL, 0);
        }
 }
@@ -240,4 +241,8 @@ static inline void _rcu_read_unlock(void)
        }
 }
 
+#ifdef __cplusplus 
+}
+#endif
+
 #endif /* _URCU_STATIC_H */
This page took 0.023049 seconds and 4 git commands to generate.