On 29 Sep 2010, at 11:01, Igor Stasenko wrote:
On 29 September 2010 11:11, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
no idea but I want to know that too so keep us posted.
Smalltalk specialObjectsArray at: 28. Thats it, Process is a special object, recognized by VM. No other Process (sub)classes can be accepted by it. Could you elaborate on that? No other process can be accepted for what? Being scheduled, or being executed?
There is also a comment in the comment of Process which suggests that it should be possible: "(If anyone ever makes a subclass of Process, be sure to use allSubInstances in anyProcessesAbove:.)" But even after making the change, that does not seem to be the actual problem. The process gets execute fine. With a '1 halt.' as the first statement of the aBlock block I even get a debugger. It only fails on accessing variables referenced by the closure with an index out of bound error or something similar.
Erlang>>spawn: aBlock "Answer an ErlProcess running the code given in the parameter. The process is scheduled." | proc | proc := ErlProcess forContext: [1 halt. aBlock value. Processor terminateActive] asContext priority: Processor activePriority. proc resume. ^ proc
Thanks and best regards Stefan -- Stefan Marr Software Languages Lab Vrije Universiteit Brussel Pleinlaan 2 / B-1050 Brussels / Belgium http://soft.vub.ac.be/~smarr Phone: +32 2 629 2974 Fax: +32 2 629 3525