Hi Jukka,

On Wed, Apr 4, 2012 at 11:44 AM, Jukka Rissanen <
[email protected]> wrote:

> On 04/04/2012 11:29 AM, alok barsode wrote:
>
>> hi Jukka,
>>
>> On Wed, Apr 4, 2012 at 11:09 AM, Jukka Rissanen
>> <[email protected].**com <[email protected]><mailto:
>> jukka.rissanen@linux.**intel.com <[email protected]>>>
>>
>> wrote:
>>
>>    Hi Alok,
>>
>>
>>    On 04/03/2012 11:50 PM, Alok Barsode wrote:
>>
>>        From: Alok Barsode<alok.barsode@linux.__i**ntel.com<http://intel.com>
>>        <mailto:alok.barsode@linux.**intel.com<[email protected]>
>> >>
>>
>>
>>        Add default service Gateway to the timeserver query list.
>>        Now the list is service timeservers(via DHCP), gateway and global
>>        timeservers, in that order.
>>        ---
>>          src/timeserver.c |   33 ++++++++++++++++++++++++++++--**__---
>>
>>          1 files changed, 28 insertions(+), 5 deletions(-)
>>
>>        diff --git a/src/timeserver.c b/src/timeserver.c
>>        index 308355f..b81129a 100644
>>        --- a/src/timeserver.c
>>        +++ b/src/timeserver.c
>>        @@ -35,6 +35,7 @@
>>          static GSList *ts_list = NULL;
>>
>>          static char **service_ts = NULL;
>>        +static const char *service_gw = NULL;
>>
>>
>>    This is unnecessary initialization, static is NULL anyway. As the
>>    other variables around it have done initialization so perhaps this
>>    is not worth fixing.
>>
>>    Actually, do we need to remember service_gw because the
>>    __connman_timeserver_sync() will fetch it anyway if service is not
>> NULL?
>>
>>
>> we need to cache it , to reconstruct the server list when we dont have
>> the service pointer. For example when the global timeservers are
>> modified, we call  __connman_timeserver_sync(**NULL). In case like this
>> we
>> dont have the service pointer to get the gw.
>>
>
> How can we be sure that service_gw still points to valid memory?
> If the ipconfig of the service is changed the system_gw could become a
> stale pointer. So either we should fetch the used gw every time the sync is
> done or we should allocate (and deallocate) the system_gw somewhere and not
> just take a pointer that might disappear.
>
> Would the default gw change during the lifetime of the service? we know
that it points to a valid memory because as soon as the def service goes
away/changes we invoke _timeserver_stop() which stops the sync. If it does
change, then we have to export the default service to timeserver_sync() OR
ref the default service in timeserver_start(). what do u think?


Cheers,
Alok.

>
> Cheers,
> Jukka
>
_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to