summaryrefslogtreecommitdiff
path: root/dln.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-05-01 04:41:27 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-05-01 04:41:27 +0000
commit55851c982d6d2b50bcdea652e3fb5a5b961bf0c6 (patch)
treea1a67dc7cc91643ca7388c3d7fa7b705a9fafa61 /dln.c
parentf2604ef5126b664f988b5866c639fcfcc18f778c (diff)
dln.c: raise fatal
* dln.c (dln_load): raise fatal error on OSX not other extension libraries to refer different libruby. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'dln.c')
-rw-r--r--dln.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/dln.c b/dln.c
index b0ac56e..43f026b 100644
--- a/dln.c
+++ b/dln.c
@@ -1330,12 +1330,14 @@ dln_load(const char *file)
void *ex = dlsym(handle, EXPORT_PREFIX"ruby_xmalloc");
if (ex && ex != ruby_xmalloc) {
-# if !defined __APPLE__
+# if defined __APPLE__
/* dlclose() segfaults */
+ rb_fatal("%s - %s", incompatible, file);
+# else
dlclose(handle);
-# endif
error = incompatible;
goto failed;
+# endif
}
}
# endif