
On Tue, Mar 23, 2010 at 2:13 PM, Sebastiaan Visser
Nice! This is certainly worth it.
I'm glad you like it. Sebastiaan, I made the same mistake as threadmanager does: I forgot to block before installing the deleteMyPid exception handler in the forked thread. I added a new patch that adds the necessary block and unblock: http://bifunctor.homelinux.net/~bas/salvia/ BTW What's the git equivalent of 'darcs send -o <filename>' which saves the patches to <filename>? I would rather send my patches as email attachements instead of copying my repository to my webserver. (Note this is the first time I used git)
I really liked the simplicity of the threadmanager package, it certainly was better than managing threads manually. But your concurrent-extra package seems to do a way better job, I'm certainly going to apply this patch.
Thanks. Note I'm thinking of adding a utility module to concurrent-extra named something like: "Control.Concurrent.Thread.Group" that offers some of the same functionality as threadmanager. Namely waiting for a group of threads to terminate. It should also offer the automatic garbage collection that we are now doing manually in salvia (deleteMyPid). When I have that finished I will make a new patch to salvia that will use that new module. Then your server will look a lot cleaner again. regards, Bas