Changelog for sessions-2007.6.18

The most recent changes are at the top of this file. 2007-06-18 Rewrote the looping asynchronous stuff. There were problems with the last idea which meant that at there was a global lock for the whole loop. That has been elimitated by using an explicit chain rather than a Chan. Also, some optimisations of the common case through the loop. So performance is pretty good, and with +RTS -N2 -C10 -RTS, I am seeing > 100% CPU load on a dual core box. 2007-06-17 Made sure loops were truely asynchronous. The problem here is that to do this takes more time and hurts performance. For the tightest loop (mkLoopS $ SendS IntS), this makes performance 2.5 times worse, which isn't surprising when you consider the change in the number of MVars accessed each time through the loop. The fix here was quite different to how I'd imagined it (and documented in the paper). 2007-06-14 Initial release. Cabalised and uploaded to Hackage.