忍者ブログ

素人翻訳

適当に翻訳する。

D-Bus の名前の待ち行列

dbus-bus.c の関数 dbus_bus_request_name() のコメントに名前の所有者の待ち行列の使い方が載っている。

org.freedesktop.TextEditor というアプリケーションがあり、このアプリケーションのインスタンスを複数同時に実行できるとする。その場合、そうしたインスタンス全てを名前の待ち行列の中に入れることができる。

最初に起動するインスタンス(待ち行列の先頭のもの)が org.freedesktop.TextEditor 宛てのメッセージを受信する。このインスタンスが終了すると、他のインスタンスが名前の筆頭所有者(primary owner)となりメッセージを受信するようになる。

この待ち行列が存在するおかげで、目的の名前の現在の所有者が消えるのを監視しつづけて再びその名前を要求するという動作が不要になる。

★RequestName のフラグについて

フラグは RequestName を呼び出すことで更新することができる。(すでにその名前の所有者であっても構わない。)

#DBUS_NAME_FLAG_REPLACE_EXISTING は、他の2つのフラグ(#DBUS_NAME_FLAG_ALLOW_REPLACEMENT と #DBUS_NAME_FLAG_DO_NOT_QUEUE)と異なり、個々の RequestName コールの属性である。つまり、メッセージ・バスは接続と名前の番いに対してずっと #DBUS_NAME_FLAG_REPLACE_EXISTING フラグを紐付けておくわけではない。

PR

コメント

お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード Vodafone絵文字 i-mode絵文字 Ezweb絵文字

カレンダー

05 2026/06 07
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
29 30

最新コメント

[05/02 NONAME]
[05/02 NONAME]
[05/02 NONAME]
[05/01 NONAME]
[07/08 NONAME]

最新記事

(06/28)
(05/01)
(04/13)
(03/03)
(02/20)
(02/08)
(02/02)
(02/02)
(11/26)
(11/25)
(07/01)
(01/10)
(01/03)
(12/20)
(12/08)
(11/20)
(10/30)
(10/24)
(09/20)
(09/16)
(09/11)
(09/03)
(09/02)
(08/27)
(08/17)

ブログ内検索

広告

バーコード

広告