Hi Daniel,

>-----Original Message-----
>From: Daniel Wagner [mailto:[email protected]]
>Sent: Tuesday, November 08, 2011 5:47 PM
>To: Wang, Arron
>Cc: [email protected]; Patrik Flykt
>Subject: Re: [PATCH] session: Reset ecall_info when emergency call app
exits
>abnormally
>
>Hi Arron,
>
>On 08.11.2011 10:09, Wang, Arron wrote:
>>> -----Original Message-----
>>> From: [email protected]
>>> [mailto:[email protected]] On Behalf Of Patrik Flykt
>>> Sent: Tuesday, November 08, 2011 4:54 PM
>>> To: [email protected]; Daniel Wagner
>>> Subject: Re: [PATCH] session: Reset ecall_info when emergency call app
>> exits
>>> abnormally
>>>
>>>
>>>     Hi,
>>>
>>> On Tue, 2011-11-08 at 03:38 -0500, Yu A Wang wrote:
>>>> Fixes BMC#23631
>>>> ---
>>>>  src/session.c |    3 +++
>>>>  1 files changed, 3 insertions(+), 0 deletions(-)
>>>>
>>>> diff --git a/src/session.c b/src/session.c
>>>> index 83cdaf0..ae3614b 100644
>>>> --- a/src/session.c
>>>> +++ b/src/session.c
>>>> @@ -1407,6 +1407,9 @@ static void owner_disconnect(DBusConnection
>>> *conn, void *user_data)
>>>>
>>>>    DBG("session %p, %s died", session, session->owner);
>>>>
>>>> +  if (ecall_info != NULL && ecall_info == session->info)
>>>> +          ecall_info = NULL;
>>>> +
>>>>    session_disconnect(session);
>>>>  }
>>>
>>> The behavior on emergency call application exiting abnormally needs
>>> input from wagi for defining the expected policy. I could guess the
>>> emergency is still ongoing, and thus the emergency application probably
>>> needs to be restarted by the system immediately. How the new instance of
>>> the emergency app becomes the owner of the ecall is currently unknown
>>> and unimplemented.
>>
>> When emergency call app runs it will set the EmergencyCall flag whether
when
>> it first run or restart, then I think it will be ok for us to reset it
when
>> it exits abnormally. Anyway we need our expert Wagi's advice :-)
>
>The current assumption is that the emergency application runs all the
>time. In the case where it crashes it should be restarted immediately
>(properly by systemd). The tricky part is when the emergency call
>application crashes during an emergency call. In this case we really
>should not reset the ecall bit. Instead we should just wait until the
>emergency application is back and resumes work. The emergency call
>application is really in charge in this case.

Yes, it will be better to wait emergency application back and resumes work.

>First thing to note is that only one emergency call application is
>allowed to run at the time. We also have to protect the access to the
>EmergencyCall Setting through some means (the proposal is to use
>PolicyKit rules for this). If the application dies through the emergency
>call and then is restarted we can assign the owner ship to this session.

When the application restart, it will still follow the normal process: run
the app, create the session then connect it. We can reserve the session it
created before, we only need change the session owner and notify watch for
it, also according to the notify path or session path, we can also identify
the emergencycall app correctly. Please correct me if I am wrong, I will
write a new patch for it.

Thanks
Arron

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to