On 4 October 2010 11:59, Noury Bouraqadi <[email protected]> wrote: > > On 3 oct. 2010, at 16:28, Schwab,Wilhelm K wrote: > >> For Ocean to succeed, you either have to work really hard to make >> non-blocking calls (I'm thinking of SSL sockets), or you need the ability to >> call functions on OS threads. The calls need to block their calling Process >> and let the other Processes run as though nothing is happening. >> > You're right. > Another option is having a multi-threaded VM. Eliot seem to work on it. > So far we're working on cleaning up the design of basic functionalities > before going on. > Then, we'll try to find a workaround for non-blocking calls. > All ideas are welcome :-) >
There are two ways. Use sockets in blocking mode or in non-blocking mode. In both variants its possible to not block VM thread during the call(s), but depending on socket's mode, implementation will be different. i think it would be cool to have non-blocking socket at language side (i.e. doing socket calls does not blocks VM as well as smalltalk Process which made it). What could block the process , is putting it on wait , till socket's state change (ready for write, connected, closed etc). Now i think that with such approach you don't even need generic non-blocking FFI callout mechanism. You just need to run extra native thread(s), which periodically polls the socket(s) state and signals its semaphores accordingly. > BTW, some people (you included) proposed to help for the Ocean project. > Luc and I want to thank you and we are happy that others are willing to help. > We thought about the best way to integrate others help. > Our conclusion is that we should first do alone (luc and me) the reference > design, before integrating other developers. > So, we all can work on solid foudations. > > Noury > > > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- Best regards, Igor Stasenko AKA sig. _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
