On 9/3/06, Zed Shaw <[EMAIL PROTECTED]> wrote: > First, the memory leak was because of a bug in how the GC in Ruby was > collecting threads after they used a Mutex. Don't ask me why, but > switching to Sync fixed it. Problem is, this also causes the leak on > Win32. Still working on that problem.
I still doubt that Mutex itself is the problem here. Sync uses the same algorithm for exclusive locking, and I can run _millions_ of threads through IOWA, which operates similarly to Mutex with regard to how it spawns threads, without any memory leaks, and Mutex gets used with every one of those requests/threads. > All of the people who had Mongrel processes going crazy, blocking, > locking, or just generally doing bad things had a pstore as their > session storage option. What happens is the pstore isn't that great > when multiple processes access it, and if one Mongrel has problems > pulling an object from the pstore then it'll explode. Use the file > store when you develop, and use the database or memcached store in > production. I have had similar misery with PStore. I've been meaning to get it done for a month, but I have a process/threadsafe to-disk persistence library that I will bundle and release separately from IOWA. It provides relatively fast persistence and could be used to store sessions like people use PStore. I'll try to finally get that done today if anyone wants to try it out as a PStore replacement for storing sessions to disk. Kirk Haines _______________________________________________ Mongrel-users mailing list Mongrel-users@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-users