On Mon, Jun 15, 2009 at 10:11:39AM +0800, Biping MENG wrote: > I found it's really easy to make the userland switch work. We only > need to add a swapcontext() statement after > drizzleclient_vio_read/write in the > my_real_read/drizzleclient_net_real_write call, so the running session > can switch out when I/O fails. So we don't need too much changes in > this way. > But this way of implementation will do no good to the proposal of > architecture (cool thing!) mentioned on your blog. So I think choosing > the not so easy way will be more valuable, that is, making the > execution engine stateful.
One advantage of going down the swapcontext() route is that with async *disk* IO, we could swap context while waiting for disk io (as well as for network io). We could laso do this fairly transparently to engines/plugins doing the disk io. (of course, that does require some sort of async disk io.... which is a whole different problem). -- Stewart Smith _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

