[Pharo-project] Ocean (was Re: Less plugins, more Smalltalk code! (was: Re: Pharo 1.1.1 OneClickCogVm))
siguctua at gmail.com
Mon Oct 4 10:35:15 EDT 2010
On 4 October 2010 11:59, Noury Bouraqadi <bouraqadi at gmail.com> 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
> 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.
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
Igor Stasenko AKA sig.
More information about the Pharo-dev