Hi Frédéric,
On 02/28/2012 07:33 AM, Frédéric Danis wrote:
RING event should only be sent when callsetup indicator is set to
Incoming and there is no active call.
If call indicator is set to inactive while callsetup is
already set to Incoming (waiting call has generated +CCWA),
RING event should be sent after all calls' state have been updated.
As state of calls are updated one by one, generating multiple calls
to ofono_emulator_set_indicator(), do not call notify_ring() just
after call indicator went from active/held to inactive (only start
ring timer).
In ring_timer(), in case of a call in waiting state, just exit and
wait for next timeout.
---
src/emulator.c | 21 +++++++++++----------
1 files changed, 11 insertions(+), 10 deletions(-)
It seems like you're covering up the symptoms, not really addressing the
real issue. The logic we have right now is mostly correct, we're just
not handling the CHLD=1 case properly. Can you try the attached patch
and see if it makes the PTS test case pass?
Regards,
-Denis