]> granicus.if.org Git - python/commitdiff
Merged revisions 76405 via svnmerge from
authorRonald Oussoren <ronaldoussoren@mac.com>
Thu, 19 Nov 2009 17:30:05 +0000 (17:30 +0000)
committerRonald Oussoren <ronaldoussoren@mac.com>
Thu, 19 Nov 2009 17:30:05 +0000 (17:30 +0000)
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.
  ........
................

Misc/NEWS
configure
configure.in

index fada4904a4169ee8e73bec8fa51a37d4270cdf09..bd944ac08def3c37ebfea5cead581e6784b84d83 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -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
index 12697ddecace4ce9e813f49cf53ee8932bc2be0e..5079e84514e308f0cfb7b3636ff865dce05a942d 100755 (executable)
--- a/configure
+++ b/configure
@@ -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
+
+
 
 
 
index 5651993b3bf360ab229051ee08fc1dea23d1f0e5..1d024cd825b3457f1a072c02ce3bc366bac1fb74 100644 (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)