Fix for 838140: don't call NSUnlinkModule when we fail to find our
expected entrypoint. The unlinking will crash the application if the
module contained ObjC code. The price of this is small: a little wasted
memory, and only in a case than isn't expected to occur often.
diff --git a/Python/dynload_next.c b/Python/dynload_next.c
index cf42cb7..27df356 100644
--- a/Python/dynload_next.c
+++ b/Python/dynload_next.c
@@ -92,7 +92,7 @@
 #ifdef USE_DYLD_GLOBAL_NAMESPACE
 	if (!NSIsSymbolNameDefined(funcname)) {
 		/* UnlinkModule() isn't implemented in current versions, but calling it does no harm */
-		NSUnLinkModule(newModule, FALSE);
+		/* NSUnLinkModule(newModule, FALSE); removed: causes problems for ObjC code */
 		PyErr_Format(PyExc_ImportError,
 				 "Loaded module does not contain symbol %.200s",
 				 funcname);
@@ -102,7 +102,7 @@
 #else
 	theSym = NSLookupSymbolInModule(newModule, funcname);
 	if ( theSym == NULL ) {
-		NSUnLinkModule(newModule, FALSE);
+		/* NSUnLinkModule(newModule, FALSE); removed: causes problems for ObjC code */
 		PyErr_Format(PyExc_ImportError,
 				 "Loaded module does not contain symbol %.200s",
 				 funcname);