On Dec 30, 2006, at 12:36 PM, MenTaLguY wrote: > On Wed, 2006-12-27 at 01:42 -0500, Wilson Bilkovich wrote: >> I asked Eric Hodel about it, and he said it looked like the 'thread' >> requirement in rubygems was added accidentally. That was after >> only a >> few moments of contemplation, so it may turn out differently in the >> long run. > > Any updates on this since? > > -mental
Hey Mental- I have been talking with Eric Hodel about this and he had a suggestion. Maybe instead of requiring that fastthread be required before thread we should add the necessary Object.send :remove_const calls to remove Thread and Mutex and friends. would that work? I took the latest fastthread code and made these changes to the C code and recompiled. It seems to be working fine but I am not sure how to tell that fastthread is really loaded instead of thread. Here is what I did: # I removed this test: if (!RTEST(rb_require("thread"))) { rb_raise(rb_eRuntimeError, "fastthread must be required before thread"); } # and added these statements. rb_mod_remove_const(rb_cObject, rb_str_new2("Mutex")); rb_mod_remove_const(rb_cObject, rb_str_new2("ConditionVariable")); rb_mod_remove_const(rb_cObject, rb_str_new2("Queue")); rb_mod_remove_const(rb_cObject, rb_str_new2("SizedQueue")); This seems to work fine but I am unsure. Mental what do you think about this? Now instead of requiring fastthread after thread, we require thread and then require fastthread. Or since rubygems is already gong to require thread this takes care of it. It does seem better to allow fastthread to come after thread like this. In your test cases I also added require 'thread; before the require 'fastthread' to make them work. How can we verify that this is a valid fix? Cheers- -- Ezra Zygmuntowicz -- Lead Rails Evangelist -- [EMAIL PROTECTED] -- Engine Yard, Serious Rails Hosting -- (866) 518-YARD (9273) _______________________________________________ Mongrel-users mailing list Mongrel-users@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-users