ホーム 主筆 その他ソフト その他情報 Syuhitu.org English

Windows関連

スクリーンセーバー作成法

半透明ウインドウの性能

bootfont.bin

キャビネット形式

ウインドウスタイルをいじる

Java製ソフトをServiceに登録する

イベントログにメッセージを出力する

コントロールパネルにアイコンを追加する

Solaris関連

OpenGL

Solaris設定

ディレクトリの読み込み

主筆プラグイン開発

Sun Studio 11

マルチスレッドでの開発

door

音を出す

Blade100の正しい虐め方

パッケージの作成

画像入出力

BMPファイル

ICOファイル

ANIファイル

JPEGファイル

減色アルゴリズム

減色アルゴリズムの並列化

その他アルゴリズムなど

自由軸回転

Base64

文字列操作

CPU利用率の取得

正規表現ライブラリ

メタボールを作る

メタボールを作る2

正規表現とNFA・DFA

C言語の構文解析

マルチスレッド開発の傾向と対策

door_return

関数プロトタイプ

int door_return(
    char *data_ptr,
    size_t data_size,
    door_desc_t *desc_ptr,
    uint_t num_desc
);

必要なヘッダ

<door.h>

必要なライブラリ

-ldoor

解説

doorサーバの手続きを終了するときには、door_return関数を呼び出さなければならない。この関数は、door_call関数を呼び出したスレッドに制御を返し、次のdoor呼び出しが来るまでブロックする。

もしdoor呼び出しからの戻り値があった場合には、data_ptrとdesc_ptrに指定されたバッファのデータを、クライアントに返す。

もしクライアントが存在しなかった場合には、戻り値は破棄され、DOOR_RELEASE属性が指定されているディスクリプタを解放し、次のdoor呼び出しが来るまでブロックする。

戻り値

成功した場合には制御が返らない。

失敗した場合は-1が返され、errnoに値が設定される。

エラー値

E2BIG

引数が大きすぎてクライアント側で受け取れない。

EFAULT

data_ptrとdesc_ptrのアドレス値が不正。

EMFILE

クライアント側で、これ以上ディスクリプタを開くことが出来ない。

 

このページの情報に間違いがあっても、俺は知らんぜ。

<< 「Solarisのdoorについて」に戻る