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

Reply via email to