- Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they were not available).

This commit is contained in:
Jérôme Loyet 2010-09-01 08:17:18 +00:00
parent 5fd50c99cb
commit 6b2b7046ed
3 changed files with 22 additions and 1 deletions

2
NEWS
View file

@ -17,6 +17,8 @@
- Fixed possible crash in mssql_fetch_batch(). (Kalle)
- Fixed inconsistent backlog default value (-1) in FPM on many systems. (fat)
- Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they
were not available). (fat)
- Fixed bug #52745 (Binding params doesn't work when selecting a date inside a
CASE-WHEN). (Andrey)
- Fixed bug #52699 (PDO bindValue writes long int 32bit enum).

View file

@ -499,6 +499,24 @@ AC_DEFUN([AC_FPM_TRACE],
fi
])
AC_DEFUN([AC_FPM_BUILTIN_ATOMIC],
[
AC_MSG_CHECKING([if gcc supports __sync_bool_compare_and_swap])
AC_TRY_LINK(,
[
int variable = 1;
return (__sync_bool_compare_and_swap(&variable, 1, 2)
&& __sync_add_and_fetch(&variable, 1)) ? 1 : 0;
],
[
AC_MSG_RESULT([yes])
AC_DEFINE(HAVE_BUILTIN_ATOMIC, 1, [Define to 1 if gcc supports __sync_bool_compare_and_swap() a.o.])
],
[
AC_MSG_RESULT([no])
])
])
dnl }}}
AC_MSG_CHECKING(for FPM build)
@ -518,6 +536,7 @@ if test "$PHP_FPM" != "no"; then
AC_FPM_PRCTL
AC_FPM_CLOCK
AC_FPM_TRACE
AC_FPM_BUILTIN_ATOMIC
PHP_ARG_WITH(fpm-user,,
[ --with-fpm-user[=USER] Set the user for php-fpm to run as. (default: nobody)], nobody, no)

View file

@ -12,7 +12,7 @@
#endif
#include <sched.h>
#if (__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR__ >= 1)
#ifdef HAVE_BUILTIN_ATOMIC
/**
* all the cases below (as provided by upstream) define: