Overlapped calls, thread affinity, and callbacks in D6

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

Overlapped calls, thread affinity, and callbacks in D6

Chris Uppal-3
As I understand it, starting from D6, when an overlapped call issued from a
specific Smalltalk Process, the VM will start a new OS thread that is dedicated
for use for all of that Process's subsequent overlapped calls.  So there's a
binding from the Process to the background thread.

What I'm wondering is whether that binding also works in reverse.  I.e. if the
dedicated thread issues a callback, does the VM ensure that the corresponding
Smalltalk code is executed on the "owning" Process, or is it (as now) executed
on the 'main' (UI) Process ?

I can live with it either way, but I do need to know which way it works.  In
particular I need to know /which/ Process(es) get blocked while the callback is
executing; is it the main loop of the UI or that of my background Process.

TIA.

    -- chris