Bug #2220 [ruby-core:26117]
Hang in dln.c when using 1.8.6-p383 on Snow Leopard
| Status : | Closed | Start : | 10/16/2009 | |
| Priority : | Normal | Due date : | ||
| Assigned to : | Kirk Haines | % Done : | 100% |
|
| Category : | - | |||
| Target version : | - | |||
| ruby -v : | ruby 1.8.6 (2009-08-04 patchlevel 383) [i686-darwin10.0.0] |
Description
Snow Leopard seems to have introduced some backward compatibility issues with the old NextStep era NSLinkModule group of functions. When trying to load RMagick the process hangs in dln_load and has to be killed using kill -9. The best fix going forward is to switch to dlopen as NSLinkModule has been deprecated since Tiger and is less efficient than dlopen in Snow Leopard. The attached patch is a backport of r11810: http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=11810 Original Ruby-Core discussion: http://www.ruby-forum.com/topic/196606
Associated revisions
eval.c: Backport #2592 [ruby-core:27525]; Added an ifndef for WIN32 so that F_GETFD isn't used on that platform. Fixes a build issue.
dln.c: Bug #2220 [ruby-core:26117]; Patch to fix dln.c so that extensions work properly under Snow Leopard.