]> granicus.if.org Git - python/commitdiff
Merged revisions 76403 via svnmerge from
authorRonald Oussoren <ronaldoussoren@mac.com>
Thu, 19 Nov 2009 16:37:33 +0000 (16:37 +0000)
committerRonald Oussoren <ronaldoussoren@mac.com>
Thu, 19 Nov 2009 16:37:33 +0000 (16:37 +0000)
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 4e7d9e3bf12a8624c6655ec863d71287881ea541..8c09401f1f2696022097ca8629f081088f3f8bcc 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@ What's New in Python 2.6.5
 Core and Builtins
 -----------------
 
+- Issue #7085: Fix crash when importing some extensions in a thread
+  on MacOSX 10.6.
+
 - Issue #7070: Fix round bug for large odd integer arguments.
 
 - Issue #7078: Set struct.__doc__ from _struct.__doc__.
index 07b7cbddb17abde181e3147700a68522d1a532b9..563b69049f6754f47e40d0bc918807380540d809 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
 #! /bin/sh
-# From configure.in Revision: 75132 .
+# From configure.in Revision: 75747 .
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.61 for python 2.6.
 #
@@ -3855,7 +3855,7 @@ else
   { echo "$as_me:$LINENO: result: no" >&5
 echo "${ECHO_T}no" >&6; }
 fi
-rm -f conftest*
+rm -f -r conftest*
 
 
 
@@ -5394,7 +5394,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
 
@@ -5415,7 +5415,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
 
@@ -6513,7 +6513,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; }
@@ -7043,7 +7043,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
@@ -14163,7 +14163,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; }
@@ -15777,7 +15777,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)
@@ -15800,7 +15800,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)
@@ -15821,7 +15821,7 @@ if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   ipv6type=$i;
                                ipv6trylibc=yes
 fi
-rm -f conftest*
+rm -f -r conftest*
 
                        ;;
                linux-inet6)
@@ -15859,7 +15859,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)
@@ -15882,7 +15882,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)
@@ -15904,7 +15904,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
@@ -23497,7 +23497,7 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
 fi
-rm -f conftest*
+rm -f -r conftest*
 
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -23516,7 +23516,7 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
 fi
-rm -f conftest*
+rm -f -r conftest*
 
 fi
 
@@ -23786,7 +23786,7 @@ cat >>confdefs.h <<\_ACEOF
 _ACEOF
 
 fi
-rm -f conftest*
+rm -f -r conftest*
 
 fi
 
   THREADHEADERS="$THREADHEADERS \$(srcdir)/$h"
 done
 
+if test $ac_sys_system = Darwin
+then
+       LIBS="$LIBS -framework CoreFoundation"
+fi
+
+
+
 
 SRCDIRS="Parser Grammar Objects Python Modules Mac"
 { echo "$as_me:$LINENO: checking for build directories" >&5
index fa43374c43efd2540f36cb2a47077bbc611a62fc..42af0f810e99288821c4dfef6a76ba34e5670afa 100644 (file)
@@ -3841,6 +3841,13 @@ do
   THREADHEADERS="$THREADHEADERS \$(srcdir)/$h"
 done
 
+if test $ac_sys_system = Darwin
+then
+       LIBS="$LIBS -framework CoreFoundation"
+fi
+
+
+
 AC_SUBST(SRCDIRS)
 SRCDIRS="Parser Grammar Objects Python Modules Mac"
 AC_MSG_CHECKING(for build directories)