From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [PATCH 04/12] src: add gnss atom and agent implementation
Date: Fri, 18 Mar 2011 09:38:59 -0500 [thread overview]
Message-ID: <4D836E83.8050104@gmail.com> (raw)
In-Reply-To: <1300451830.9383.20.camel@poutijar-desktop>
[-- Attachment #1: Type: text/plain, Size: 1609 bytes --]
Hi Jarko,
>>> +{
>>> + struct ofono_gnss *gnss = user_data;
>>> +
>>> + gnss->default_agent = NULL;
>>
>> Since you're enabling CPOSR when an agent is registered, you have to
>> also guard against the case of the application exiting. Note that the
>> agent can even exit while your CPOSR enable is in progress. Have a peek
>> at location-reporting.c for ideas on how Lucas solved this.
>>
> Not sure if I understood correctly what you're trying to say and
> checking location-reporting.c didn't help but I can change the order in
> which things are done i.e. I can create agent first and then enable
> CPOSR. That way if the client dies we will know and can destroy the
> agent.
>
Basically what I'm seeing is that when the application calls:
RegisterPositioningReportingAgent
you trigger CPOSR=1 to the modem and return a reply to the application
in the CPOSR callback.
When the application unregisters the agent, you trigger CPOSR=0 to the
modem and remove the agent in the callback.
Now consider what happens if the application that registered the agent
crashes or exits without unregistering the agent. Your CPOSR reporting
is still turned on, without anyone around to handle the request.
You can handle this in a couple of ways:
- Always turn on CPOSR in the driver and get rid of the
set_position_reporting function. Any requests going to the core with no
agent registered go to /dev/null (since I don't see a CPOS 'abort' style
functionality.
- Make sure that CPOSR is reset back to zero in both cases described above.
Regards,
-Denis
next prev parent reply other threads:[~2011-03-18 14:38 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-11 12:22 [PATCH 00/12] basic E911 support Jarko Poutiainen
2011-03-11 12:22 ` [PATCH 01/12] dbus: add gnss interface definition Jarko Poutiainen
2011-03-18 4:26 ` Denis Kenzior
2011-03-18 12:19 ` Jarko Poutiainen
2011-03-11 12:22 ` [PATCH 02/12] include: add gnss.h file Jarko Poutiainen
2011-03-18 4:29 ` Denis Kenzior
2011-03-18 12:24 ` Jarko Poutiainen
2011-03-11 12:23 ` [PATCH 03/12] src: add atom type for gnss Jarko Poutiainen
2011-03-11 12:23 ` [PATCH 04/12] src: add gnss atom and agent implementation Jarko Poutiainen
2011-03-18 4:39 ` Denis Kenzior
2011-03-18 12:37 ` Jarko Poutiainen
2011-03-18 14:38 ` Denis Kenzior [this message]
2011-03-11 12:23 ` [PATCH 05/12] gatchat:introduce send for +CPOS Jarko Poutiainen
2011-03-11 12:23 ` [PATCH 06/12] gatchat:new hint to handle +CPOS Jarko Poutiainen
2011-03-11 12:23 ` [PATCH 07/12] gatchat: implementation for +CPOS send Jarko Poutiainen
2011-03-18 4:42 ` Denis Kenzior
2011-03-18 13:05 ` Jarko Poutiainen
2011-03-18 14:52 ` Denis Kenzior
2011-03-11 12:23 ` [PATCH 08/12] gatchat: fix gatsyntax to support +CPOS Jarko Poutiainen
2011-03-18 4:53 ` Denis Kenzior
2011-03-18 13:56 ` Jarko Poutiainen
2011-03-18 14:49 ` Denis Kenzior
2011-03-11 12:23 ` [PATCH 09/12] atmodem: add gnss driver Jarko Poutiainen
2011-03-18 5:03 ` Denis Kenzior
2011-03-18 12:50 ` Jarko Poutiainen
2011-03-18 14:45 ` Denis Kenzior
2011-03-11 12:23 ` [PATCH 10/12] ste: add support for gnss Jarko Poutiainen
2011-03-11 12:23 ` [PATCH 11/12] ofono.conf: add positioning agent interface Jarko Poutiainen
2011-03-11 12:23 ` [PATCH 12/12] test: add test-gnss Jarko Poutiainen
-- strict thread matches above, loose matches on Subject: below --
2011-03-24 13:46 [PATCH 00/12] Basic E911 support Jarko Poutiainen
2011-03-24 13:46 ` [PATCH 04/12] src: add gnss atom and agent implementation Jarko Poutiainen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D836E83.8050104@gmail.com \
--to=denkenz@gmail.com \
--cc=ofono@ofono.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.