Message78971
| Author |
loewis |
| Recipients |
ajaksu2, gpolo, loewis, pitrou, vstinner |
| Date |
2009年01月03日.15:48:11 |
| SpamBayes Score |
0.0012365173 |
| Marked as misclassified |
No |
| Message-id |
<495F88B9.3060107@v.loewis.de> |
| In-reply-to |
<ac2200130901030736n4238b3e2i4ff641b59e1e4fbd@mail.gmail.com> |
| Content |
> But I don't see a RPC being used there, I just see some polling.
Consider Tkapp_Call (e.g.). If this is invoked in the Tk interpreter
thread, then there is a direct call to Tcl_EvalObjv/Tkapp_CallResult.
If the call is made from a different thread, then a Tkapp_CallEvent
is allocated, filled with the parameters, and Tkapp_ThreadSend is
invoked. This puts the event into the thread queue of the receiving
thread, and waits for a condition.
In the interpreter thread, Tkapp_CallProc is invoked, which extracts
the arguments from the event, invokes Tcl_EvalObj/Tkapp_CallResult,
and notifies the condition. |
|