From: Dan Sugalski [mailto:[EMAIL PROTECTED] > We are going to do all I/O under the hood asynchronously. > Completed async IO puts an event in the event queue...
I am new to parrot, but I've had plenty of experience with (non-unix) I/O systems. Having a totally async core in Parrot is pretty clearly the right thing. It makes sense for Parrot to expose a clean async model that hides the ugly details of each platform (like Unix Signals). Although the implementation may end up hairy on some platforms, Parrot seems like the correct place to bear this burden. This makes life simpler for everything built atop Parrot that needs AIO for files or whatever. And while you can debate how common this need will be, it seems almost guaranteed that the need will exist and that people will use it if given a clean system. But just because Parrot should have AIO and is also forced to support signals, I don't think it follows that AIO must be built on signals. If an async core is to be a key aspect of Parrot, it should be built on a reliable foundation. Personally I don't have enough experience with Unix signals to make a strong argument here... -Brad