2009/10/29 Phil Dawes <[email protected]>: > Hi Paul, Hi Everyone, > > It turned out to be a problem with io-completion-ports: > io.pipes.windows.nt registers the completion port with the parent vm on > creation. I then pass the write handle to the child vm thread, and when > it writes the completion event still fires in the parent. > > This is easy to fix for the single child case (don't register the > completion port with the parent), but I'm not sure how to fix this so > that multiple threads can write to the same pipe. > > I need to experiment to see if multiple completion ports can be created > and just have each vm ignore events that don't have a waiting > continuation. Any ideas or pointers would be much appreciated.
Hmm, this is really far more complex than I can follow, but rather than using factor-level pipes, why not create pure win32 handle level pipes, then wrap them using opened-file in the target VM only? That way, the completion port is only assigned and registered in the correct VM. Paul. PS Sorry if this is going down the wrong track. I'm still not completely sure how the pipe stuff would work at a user level. There's no example in native-thread-test.factor (for obvious reasons, I guess...). Could you give a quick example of how user code would ultimately use this feature? ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Factor-talk mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/factor-talk
