アプリケーションにメッセージが到着すると、次のようになります。
ファイル記述子が有効になります。
Xt メインループが select から抜け出し、XtAppAddInput 呼び出しで登録してある関数を呼び出します。
この登録関数は、tt_message_receive を呼び出します。
メッセージが読み込まれ、メッセージに関連付けられているコールバックがすべて起動されます。
メッセージのコールバックから戻ります。
入力コールバックは他の処理を継続します。
たとえば、次のような入力コールバックに対して、
input_callback(...)
{
Tt_message m;
printf ("input callback entered\n");
m = tt_message_receive();
printf ("input callback exiting, message handle is %d\n",
(int)m);
}
|
メッセージコールバックが次のようになっている場合、
message_callback(...)
{
printf("message callback entered\n");
return TT_CALLBACK_PROCESSED;
}
|
次のように出力されます。
input callback entered message callback entered input callback exiting, message handle is 0 |