[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ✘GPS 3.24 is released!
From: |
Hal Murray |
Subject: |
Re: ✘GPS 3.24 is released! |
Date: |
Sun, 08 May 2022 13:55:32 -0700 |
> Not priviledged, but syncrhouns only. gpsd needs to be async once it is
> running. Otherwise the buffers back up and game over.
Is the game really over? Will the pseudo threads parsing the input streams
recover from lost data? If so, what is the value of the DNS lookup (or
whatever) that doesn't happen often compared to the occasional trashing of the
input stream?
> Of course if you want convert gpsd to multhreaded operation, then those
> problems go away.
I've done it for ntpd -- not real threads, just another quirk for the current
pseudo thread scheduler to handle. It's not hard, at least if you are already
familiar with threads.
The general idea is to set a flag, fork a real thread to do the DNS lookup,
than continue after the answer is available.
The handshake code is a bit ugly/tricky since it is small pieces spread all
over the place.
There are 2 areas to keep in mind. The DNS thread can't call utility routines
unless they are thread safe. One obvious example is logging.
The other is that you can't have a lot of state on the stack when you want to
do the DNS lookup. The DNS lookup gets tangled up with the top-level pseudo
thread scheduler.
--
These are my opinions. I hate spam.
- Re: ✘GPS 3.24 is released!, Ralph Nemitz, 2022/05/02
- Re: ✘GPS 3.24 is released!, Gary E. Miller, 2022/05/02
- Re: ✘GPS 3.24 is released!, Ralph Nemitz, 2022/05/03
- Re: ✘GPS 3.24 is released!, Ralph Nemitz, 2022/05/03
- Re: ✘GPS 3.24 is released!, Gary E. Miller, 2022/05/03
- Re: ✘GPS 3.24 is released!, Gary E. Miller, 2022/05/03
- RE: ✘GPS 3.24 is released!, Rick Howitt, 2022/05/08
- Re: ✘GPS 3.24 is released!, Greg Troxel, 2022/05/08
- Re: ✘GPS 3.24 is released!, Gary E. Miller, 2022/05/08
- Re: ✘GPS 3.24 is released!,
Hal Murray <=
- Re: ✘GPS 3.24 is released!, Gary E. Miller, 2022/05/08