<meta http-equiv="content-type" content="text/html; charset=utf-8"><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">Hi,<div><br></div><div>I have the following scenario:</div>
<div><br></div><div>Process 1: Dbus server of the DBus service A. Client of the DBus service B.</div><div>Process 2: Dbus client of the DBus service A. Server of the DBus service B.</div><div><br></div><div>1- Process 1 goes up.</div>
<div>2- Process 2 goes up.</div><div>3- Process 1 calls a method in the process 2 (service A).</div><div>4- Process 2 calls a "callback" method in the process 1 (DBus service B), notifying something happened.</div>
<div><br></div><div>I've been trying to do that using Glib DBus on both processes.</div><div><br></div><div>I cant wait until the work is done synchonously because it takes too long to be done and the DBus times out.</div>
<div>So I'm using threads (producer, consumer), with a request queue, to process calls in the process 2.</div><div>This way, the dbus calls only pushes a command into the queue and returns.</div><div><br></div><div>I'm having problems in the step number 4. The callback DBus method can not be called until the step 3 Dbus call is finished.</div>
<div>It seems DBus can only make one call at a time and I can't guarantee the first one is complete before waking up the consumer thread.</div><div><br></div><div>I'm wondering if the problem is related to the fact of both services use the System BUS.</div>
<div>However, I couldn't find information regarding creating another bus of something like this.</div><div><br></div><div>If I use DBus messages or signals, would I solve this concurrency problem? I mean: Can I send a Message or Signal while a method call is in progress?</div>
<div><br></div><div>Thanks very much for your help.</div></span><br>-- <br><font class="Apple-style-span" color="#888888">Marcus</font>