summaryrefslogtreecommitdiff
path: root/dln.c
diff options
context:
space:
mode:
authorusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-12-27 09:28:20 +0000
committerusa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-12-27 09:28:20 +0000
commit2706ffc7b5278616814b1d9724f738c27482039a (patch)
tree0210698d14086c34cd33422ed4147a74ebe42fea /dln.c
parent0dddf3cbb9b3d1e63f68033d60c161a82ef62bf6 (diff)
merge revision(s) 56832: [Backport #12956]
dln.c: raise LoadError * dln.c (dln_load): raise LoadError instead of fatal error on recent OSX, dlclose seems fixed in El Capitan or later. [ruby-core:78200] [Bug #12956] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@57208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'dln.c')
-rw-r--r--dln.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/dln.c b/dln.c
index e5269ca441..1a97506784 100644
--- a/dln.c
+++ b/dln.c
@@ -1335,7 +1335,9 @@ dln_load(const char *file)
void *ex = dlsym(handle, EXTERNAL_PREFIX"ruby_xmalloc");
if (ex && ex != ruby_xmalloc) {
-# if defined __APPLE__
+# if defined __APPLE__ && \
+ defined(MAC_OS_X_VERSION_MIN_REQUIRED) && \
+ (MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_11)
/* dlclose() segfaults */
rb_fatal("%s - %s", incompatible, file);
# else