Merged revisions 76405 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/branches/py3k

................
  r76405 | ronald.oussoren | 2009-11-19 18:15:31 +0100 (Thu, 19 Nov 2009) | 21 lines

  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.
  ........
................
This commit is contained in:
Ronald Oussoren 2009-11-19 17:30:05 +00:00
parent fd9ac226aa
commit 1b2cad00c7
3 changed files with 31 additions and 16 deletions

View File

@ -12,6 +12,9 @@ What's New in Python 3.1.2?
Core and Builtins
-----------------
- Issue #7085: Fix crash when importing some extensions in a thread
on MacOSX 10.6.
- Issue #7298: fixes for range and reversed(range(...)). Iteration
over range(a, b, c) incorrectly gave an empty iterator when a, b and
c fit in C long but the length of the range did not. Also fix

38
configure vendored
View File

@ -1,5 +1,5 @@
#! /bin/sh
# From configure.in Revision: 74980 .
# From configure.in Revision: 75727 .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for python 3.1.
#
@ -3802,7 +3802,7 @@ else
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
fi
rm -f conftest*
rm -f -r conftest*
@ -5350,7 +5350,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
@ -5371,7 +5371,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
@ -6469,7 +6469,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; }
@ -6999,7 +6999,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
@ -14409,7 +14409,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; }
@ -15877,7 +15877,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)
@ -15900,7 +15900,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)
@ -15921,7 +15921,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
ipv6type=$i;
ipv6trylibc=yes
fi
rm -f conftest*
rm -f -r conftest*
;;
linux-inet6)
@ -15959,7 +15959,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)
@ -15982,7 +15982,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)
@ -16004,7 +16004,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
@ -23989,7 +23989,7 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
rm -f conftest*
rm -f -r conftest*
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
@ -24008,7 +24008,7 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
rm -f conftest*
rm -f -r conftest*
fi
@ -24278,7 +24278,7 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
fi
rm -f conftest*
rm -f -r conftest*
fi
@ -25513,6 +25513,12 @@ echo "${ECHO_T}no" >&6; }
fi
if test $ac_sys_system = Darwin
then
LIBS="$LIBS -framework CoreFoundation"
fi

View File

@ -3939,6 +3939,12 @@ else AC_MSG_RESULT(no)
fi],
[AC_MSG_RESULT(no)])
if test $ac_sys_system = Darwin
then
LIBS="$LIBS -framework CoreFoundation"
fi
AC_SUBST(THREADHEADERS)