CAPI and multiprocessing
Hi folks,The documentation states that
Operations on CAPI objects are not atomic in general. The same is true
for anything in the IDE. These operations need to be invoked from the
thread that owns the object, for example by
capi:execute-with-interface
or
capi:apply-in-pane-process
..Is this true also for added slots in a derived class?
I have an interface class (defined with define-interface) with some custom slots. I'm experiencing strange problems where one of those slots is suddenly set to nil. My only guess is that it has to do with multiprocessing somehow, but before wrapping every call to these slots in capi:execute-with-interface, it would be nice to know if that can possibly have any effect.
A second question is if the number printed by print-object is supposed to be a stable memory location. I get the following in my log:
click-callback (capi:top-level-interface self) = #<USER:TEST-PANEL "Test" 200F0FBB>
click-callback (capi:top-level-interface self) = #<USER:TEST-PANEL "Test" 200F0FBB>
…
click-callback (capi:top-level-interface self) = #<USER:TEST-PANEL "Test" 24225C7B>
Is this "normal", or does it indicate that the interface has been "replaced" somehow?
Regards
Erik