2017-04-07 11 views
1

私は公開されたdbusメソッドを呼び出すためにPythonで書かれたdbusクライアントを持っています。コードは次のとおりです返信を期待しないでDbusメソッドを呼び出す

bus = dbus.SessionBus() 
service = bus.get_object(PANEL_BUS_NAME, PANEL_BUS_OBJECT) 
__panelInterface = dbus.Interface(service, PANEL_BUS_INTERFACE) 
__panelInterface.SetBTConnected() 

問題は、メソッドが初めて呼び出されたときに、公開されたメソッドが実行されるまでに時間がかかることです。私の理解では、dbusはメソッドのプロセスからの応答を期待していますが、タイムアウトします。しかし、私が理解していないことは、メソッドが再び呼び出されるとすぐにメソッドが実行されるということです。言い換えれば、ブロックは最初に発生します。誰かが私にこの行動の治療法を教えてもらえますか?

+0

あなたが行っていることのより完全な例を教えてください。上記のコードはすべて上にありますか? また、どのPythonバインディングを使用していますか? – JoGr

答えて

0

Bustleまたはdbus-monitorのようなD-Bus解析ツールでこれをデバッグすると便利です。メッセージと返信が送信されたとき、エラーが返されたかどうか、時間がどこに費やされたかを表示します。

関連する問題