mac carbon SqueakFFIPrims plugin goes to v 1.4.0b1

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

mac carbon SqueakFFIPrims plugin goes to v 1.4.0b1

johnmci
I've posted a new SqueakFFIPrims  plugin to my idisk   v 1.4.0b1

http://www.smalltalkconsulting.com/squeak.html

Follow the link to the idisk, then to the experimental directory for  
SqueakFFIPrims.v1.4.0b1.bundle.zip

The Sophie/TK4 team has been busy working on Quicktime based Books,  
however it confirmed the issue that the
Mac Carbon VM interpreter() thread is not thread safe with the UI for  
some FFI calls. Therefore in this version of the
SqueakFFIPrims logic we now callback to the VM to ask it to schedule  
the FFI call on the UI thread. This adds a bit
of overhead (people are welcome to measure) however it avoids the  
issue of having your FFI collide and crash with
some window managment or quicktime movie task on the main thread.

The update are on the SVN server

FFI users should confirm I've not broken anything, also you should  
test the 3.8.10b15 VM for unix binary library interfacing to
confirm that feature works. Note the use of the plist XML entry to  
tell the VM only to load from the Plugins, resources, or /System/
Framework/ directory.
You must turn that feature OFF in order to refer to libraries in /bin/
lib etc....  plus trying 80 other combinations of names and paths  
hunting for
the FFI module in question.

I'll note I did build a Squeak Mac Carbon VM where interpreter() runs  
on the main UI thread and polls the OS event services for
pending events, however when the macintosh menus are choosen, why the  
VM stops running. Not a nice feature, perhaps
this is not fixable so I'm not migrating to this implementation yet.

--
========================================================================
===
John M. McIntosh <[hidden email]> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
========================================================================
===