At 08:13 24.06.00 -0400, Paul Fernhout wrote:
I haven't looked into the latest pluggable primitive stuff, but the approach implied in this code concerns me for use in a Windows DLL. When exactly does "setInterpreter" get called? By whom?
Once per Squeak after the DLL was successfully loaded, getModuleName() was called and right before the first pluggable primitive is executed.
How often if you are running multiple Squeak EXEs?
Probably once per Squeak - I haven't checked. But that's not the problem - I confirmed that it was never called - because of the name I returned in getModuleName().
A Windows DLL shares its globals with all users of it.
Really? I hoped that each instance would get its own set of globals...
[...] This would mean that if you started up two Squeak sessions, the second one would also set its interpreter, setting the shared global variable.
That would be bad. But this would actually also break all existing Plugins then as all other also store their VM proxy pointer in a static global variable.
-Paul Fernhout
Thank you for your help.
bye -- Stefan Matthias Aust // Bevor wir fallen, fallen wir lieber auf