Solution: deal with MySQL in a separate process and talk to that process asynchronously from your app. A hack, perhaps, but if you need to use threads and Ruby, and Ruby can't call a C extension from multiple threads... this will fix the problem with about 20 minutes of development work. It would of course be better to fix Ruby, but that might take longer.<p>The least helpful thing to do, though, is to whine about it on your blog. Complain after you've fixed it :P