07/09/08 10:21:50
>>702
>どこをどう通ったのか分かりませんがコールバックが呼ばれます。
システムがコールするからコールバックって言うんだけどな。
>ISOURCE_Read()とISOURCE_Readable()の関連性がどうにも分かりません
ISOURCE_Read() で ISOURCE_WAIT が返された場合は、システムが「今は忙しいから ISOURCE_Readable() に関数を登録しておいてくれたら後で俺から呼んだるで」って言ってる。
で、プログラムが見えないところ、つまりシステムに戻ると、システムは「お、そろそろ暇になったから呼んでやるか」と言って登録された関数を呼び出す。
その関数の中で俺らはもう一度 ISOURCE_Read() を呼び出す訳だ。
そうすることで、俺らがわざわざシステムに「今暇?」とか「ちゃんと指定したバイト数だけ読み込んだ?」って訪ねる手間が省ける。