gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-dev] gpsd client maintainance


From: devendra.aaru
Subject: Re: [gpsd-dev] gpsd client maintainance
Date: Wed, 15 May 2013 18:24:25 +0530

On Wed, May 15, 2013 at 6:13 PM, Eric S. Raymond <address@hidden> wrote:
> devendra.aaru <address@hidden>:
>> Hello,
>>
>> Gpsd kills the client (or subscriber) if its idle for more than 60
>> sec, i think this is just used to maintain the client table and to
>> serve as many client requests as possible. Please correct me if i am
>> wrong.
>>
>> thanks
>
> From gpsd.c:
>
> /*
>  * Timeout policy.  We can't rely on clients closing connections
>  * correctly, so we need timeouts to tell us when it's OK to
>  * reclaim client fds.  COMMAND_TIMEOUT fends off programs
>  * that open connections and just sit there, not issuing a WATCH or
>  * doing anything else that triggers a device assignment.  Clients
>  * in watcher or raw mode that don't read their data will get dropped
>  * when throttled_write() fills up the outbound buffers and the
>  * NOREAD_TIMEOUT expires.
>  *
>  * RELEASE_TIMEOUT sets the amount of time we hold a device
>  * open after the last subscriber closes it; this is nonzero so a
>  * client that does open/query/close will have time to come back and
>  * do another single-shot query, if it wants to, before the device is
>  * actually closed.  The reason this matters is because some Bluetooth
>  * GPSes not only shut down the GPS receiver on close to save battery
>  * power, they actually shut down the Bluetooth RF stage as well and
>  * only re-wake it periodically to see if an attempt to raise the
>  * device is in progress.  The result is that if you close the device
>  * when it's powered up, a re-open can fail with EIO and needs to be
>  * tried repeatedly.  Better to avoid this...
>  *
>  * DEVICE_REAWAKE says how long to wait before repolling after a zero-length
>  * read. It's there so we avoid spinning forever on an EOF condition.
>  *
>  * DEVICE_RECONNECT sets interval on retries when (re)connecting to
>  * a device.
>  */
> #define COMMAND_TIMEOUT         60*15
> #define NOREAD_TIMEOUT          60*3
> #define RELEASE_TIMEOUT         60
> #define DEVICE_REAWAKE          0.01
> #define DEVICE_RECONNECT        2
>
> --
>                 <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>

Thanks for the answer, and i was seeing the very old gpsd release 2.3.
I will read the code once again with the latest gpsd sources.

thanks,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]