XFlush(3X11)

名前
XFlush, XSync, XEventsQueued, XPending - イベントキューの出力バッファを扱う

書式
XFlush(display)
      Display *display;

XSync(display, discard)
      Display *display;
      Bool discard;

int XEventsQueued(display, mode)
     Display *display;
     int mode;

int XPending(display)
      Display *display;

引き数

discard
    がイベントキューの全てのイベントを破棄するかどうか指示する真偽値を指定。

display
    X サーバへの接続を指定。

mode
    モードを指定。 のいずれかを渡すことができる。

説明
関数 は出力バッファをフラッシュする。 出力バッファは を呼ぶことにより必要に応じて自動的にフラッシュされるので、ほとんどのク ライアントアプリケーションはこの関数を使う必要は無い。 サーバによって生成されたイベントは、ライブラリのイベントキューに入れら れることもある。

関数 は出力バッファをフラッシュし、その後 X サーバが全てのイベントを受け取っ て処理するまで待つ。 生成された全てのエラーは、エラーハンドラを使って処理しなければならない。 Xlib が受け取るそれぞれのプロトコルエラーに対して、 はクライアントのエラー処理ルーチンを呼び出す(11.8.2節参照)。 サーバによって生成された全てのイベントはライブラリのイベントキューに入 れられる。

最後になるが、 を渡した場合、 はキュー内のイベントを破棄しない。 を渡した場合には、 はキュー内のイベントを全て破棄する。 これには が呼ばれる前にキューに入っていたものも含まれる。 クライアントアプリケーションが を呼ぶ必要があることはほとんどない。

mode が の場合、 は既にイベントキュー内にある(そしてシステムコールを実行していない)イベ ントの数を返す。 mode が の場合には、 は既にキューに入っているイベントの数がゼロでなければ、その数を返す。 キューにイベントが入っていなければ、 は出力バッファをフラッシュし、アプリケーションの接続の中からさらにイベ ントを読み出そうと試み、読み出せた数を返す。 mode が の場合、 は、既にキューに入っているイベントの数がゼロでなければその数を返す。 キューにイベントが入っていなければ、 は出力バッファをフラッシュせずに、アプリケーションの接続からイベントを 読み出そうと試み、読み出すことができた数を返す。

は、既にキュー内にイベントがあれば、入出力なしで即座に帰ってくる。 mode が である の動作は と同一である。 mode が である は関数 と同一である。

関数 は X サーバが受け取っているが、イベントキューからは削除されていないイ ベントの数を返す。 は mode が指定されている と同じである。

関連項目
AllPlanes(3X11), XIfEvent(3X11), XNextEvent(3X11), XPutBackEvent(3X11)
Xlib - C Language X Interface