1
0
mirror of https://github.com/php/php-src.git synced 2026-04-25 17:08:14 +02:00

- Fix #52407 (use __sync_bool_compare_and_swap in fpm_atomic.h if gcc >= 4.1 is used - credit to geissert)

This commit is contained in:
Jérôme Loyet
2010-08-21 06:46:18 +00:00
parent 1f3aaf508c
commit 6db49b7864
+13 -1
View File
@@ -12,7 +12,19 @@
#endif
#include <sched.h>
#if ( __i386__ || __i386 )
#if (__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR__ >= 1)
/**
* all the cases below (as provided by upstream) define:
* word as atomic_int_t, and
* unsigned word as atomic_uint_t
* and only use volatile atomic_uint_t as atomic_t
*/
typedef volatile unsigned long atomic_t;
#define atomic_cmp_set(a,b,c) __sync_bool_compare_and_swap(a,b,c)
#elif ( __i386__ || __i386 )
typedef int32_t atomic_int_t;
typedef uint32_t atomic_uint_t;