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

Reply via email to