Hi everybody,
I've got a, probably more academic, question:
Given that I have an application with
- one Adaptor (
A) providing a synchronous method (M1) to be called, and
- one Proxy (
P) connected to another D-Bus participant, which
- share the connection (i.e. have a single connection running a single event loop)
Is the behavior well-defined and will it work if:
within the implementation of M1, a synchronous method (M2) on P is called? (So: D-Feet->M1->M2)
Or will/could this lead to a behavior where the connection will only service M2s return value until M1 has been completed, which will obviously not be the case?
I've tried to write some example code for this, as this is something I've stumbled upon in one of my applications, which leads to the application being stalled. However, with the example code I've got somewhat erratic behavior, from working fine to long delays in Proxy method returns, though no real deadlocks.
Am I missing something? Have I not grasped the concept of how sdbus works with connections during synchronous method calls?
Thanks for any insights
Hi everybody,
I've got a, probably more academic, question:
Given that I have an application with
A) providing a synchronous method (M1) to be called, andP) connected to another D-Bus participant, whichIs the behavior well-defined and will it work if:
within the implementation of
M1, a synchronous method (M2) onPis called? (So:D-Feet->M1->M2)Or will/could this lead to a behavior where the connection will only service
M2s return value untilM1has been completed, which will obviously not be the case?I've tried to write some example code for this, as this is something I've stumbled upon in one of my applications, which leads to the application being stalled. However, with the example code I've got somewhat erratic behavior, from working fine to long delays in Proxy method returns, though no real deadlocks.
Am I missing something? Have I not grasped the concept of how sdbus works with connections during synchronous method calls?
Thanks for any insights