diff options
author | Ronald Oussoren <ronaldoussoren@mac.com> | 2009-11-19 17:15:31 (GMT) |
---|---|---|
committer | Ronald Oussoren <ronaldoussoren@mac.com> | 2009-11-19 17:15:31 (GMT) |
commit | 3c1928a595ddb5d413c252804da45ee78ed68543 (patch) | |
tree | 243581015f1da968151a55d439c6f6d8efa6faf1 | |
parent | 26afd485ce46b6143a8568bebf648ca0d3f525b2 (diff) | |
download | cpython-3c1928a595ddb5d413c252804da45ee78ed68543.zip cpython-3c1928a595ddb5d413c252804da45ee78ed68543.tar.gz cpython-3c1928a595ddb5d413c252804da45ee78ed68543.tar.bz2 |
Merged revisions 76403 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r76403 | ronald.oussoren | 2009-11-19 17:25:21 +0100 (Thu, 19 Nov 2009) | 14 lines
Fix for issue #7085
On MacOSX 10.6 the CoreFoundation framework must be initialized on the main
thread, the constructor function in that framework will cause an SIGABRT when
it is called on any other thread.
Because a number of extension link (indirectly) to CoreFoundation and the
Python core itself didn't the interpreter crashed when importing some
extensions, such as _locale, on a secondary thread.
This fix ensures that Python is linked to CoreFoundation on OSX, which results
in the CoreFoundation constructor being called when Python is loaded. This
does not require code changes.
........
-rw-r--r-- | Misc/NEWS | 3 | ||||
-rwxr-xr-x | configure | 36 | ||||
-rw-r--r-- | configure.in | 4 |
3 files changed, 27 insertions, 16 deletions
@@ -12,6 +12,9 @@ What's New in Python 3.2 Alpha 1? Core and Builtins ----------------- +- Issue #7085: Fix crash when importing some extensions in a thread + on MacOSX 10.6. + - Issue #1757126: Fix the cyrillic-asian alias for the ptcp154 encoding. - Issue #6970: Remove redundant calls when comparing objects that don't @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 76301 . +# From configure.in Revision: 76328 . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for python 3.2. # @@ -3800,7 +3800,7 @@ else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi -rm -f conftest* +rm -f -r conftest* @@ -5338,7 +5338,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | else ac_cv_header_stdc=no fi -rm -f conftest* +rm -f -r conftest* fi @@ -5359,7 +5359,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | else ac_cv_header_stdc=no fi -rm -f conftest* +rm -f -r conftest* fi @@ -6457,7 +6457,7 @@ _ACEOF fi -rm -f conftest* +rm -f -r conftest* { echo "$as_me:$LINENO: result: $was_it_defined" >&5 echo "${ECHO_T}$was_it_defined" >&6; } @@ -6987,7 +6987,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | else ac_cv_type_uid_t=no fi -rm -f conftest* +rm -f -r conftest* fi { echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 @@ -15529,7 +15529,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | else unistd_defines_pthreads=no fi -rm -f conftest* +rm -f -r conftest* { echo "$as_me:$LINENO: result: $unistd_defines_pthreads" >&5 echo "${ECHO_T}$unistd_defines_pthreads" >&6; } @@ -16827,7 +16827,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "yes" >/dev/null 2>&1; then ipv6type=$i fi -rm -f conftest* +rm -f -r conftest* ;; kame) @@ -16850,7 +16850,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ipv6libdir=/usr/local/v6/lib ipv6trylibc=yes fi -rm -f conftest* +rm -f -r conftest* ;; linux-glibc) @@ -16871,7 +16871,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ipv6type=$i; ipv6trylibc=yes fi -rm -f conftest* +rm -f -r conftest* ;; linux-inet6) @@ -16909,7 +16909,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ipv6lib=inet6; ipv6libdir=/usr/local/v6/lib fi -rm -f conftest* +rm -f -r conftest* ;; v6d) @@ -16932,7 +16932,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ipv6libdir=/usr/local/v6/lib; BASECFLAGS="-I/usr/local/v6/include $BASECFLAGS" fi -rm -f conftest* +rm -f -r conftest* ;; zeta) @@ -16954,7 +16954,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ipv6lib=inet6; ipv6libdir=/usr/local/v6/lib fi -rm -f conftest* +rm -f -r conftest* ;; esac @@ -25044,7 +25044,7 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -rm -f conftest* +rm -f -r conftest* cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ @@ -25063,7 +25063,7 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -rm -f conftest* +rm -f -r conftest* fi @@ -25333,7 +25333,7 @@ cat >>confdefs.h <<\_ACEOF _ACEOF fi -rm -f conftest* +rm -f -r conftest* fi @@ -26411,6 +26411,10 @@ _ACEOF fi +if test $ac_sys_system = Darwin +then + LIBS="$LIBS -framework CoreFoundation" +fi { echo "$as_me:$LINENO: checking for %zd printf() format support" >&5 echo $ECHO_N "checking for %zd printf() format support... $ECHO_C" >&6; } diff --git a/configure.in b/configure.in index 2a0745f..ac63667 100644 --- a/configure.in +++ b/configure.in @@ -3853,6 +3853,10 @@ then [Define to printf format modifier for long long type]) fi +if test $ac_sys_system = Darwin +then + LIBS="$LIBS -framework CoreFoundation" +fi AC_MSG_CHECKING(for %zd printf() format support) AC_CACHE_VAL(ac_cv_have_size_t_format, |