From cb3c448d8f3ec8c361d181db373c6c65b4d90b7d Mon Sep 17 00:00:00 2001 From: Ben Noordhuis Date: Mon, 7 Jan 2013 15:42:28 +0100 Subject: [PATCH] unix: fix GNU-ism introduced in edd1007 Don't use features.h, it's only available on GNU/glibc systems. --- src/unix/async.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/unix/async.c b/src/unix/async.c index 88fba1a8..322167c6 100644 --- a/src/unix/async.c +++ b/src/unix/async.c @@ -25,7 +25,6 @@ #include #include #include -#include static int uv__async_init(uv_loop_t* loop); static void uv__async_io(uv_loop_t* loop, uv__io_t* w, unsigned int events); @@ -51,7 +50,7 @@ static int uv__async_make_pending(volatile sig_atomic_t* ptr) { __asm__ __volatile__("xchgl %0, %1" : "+r" (val) : "m" (*ptr)); return val != 0; } -#elif defined(__GNUC_PREREQ) && __GNUC_PREREQ(4, 1) +#elif defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__ > 0) return __sync_val_compare_and_swap(ptr, 0, 1) != 0; #else *ptr = 1;