| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
| |
|
|
|
|
|
|
| |
Promote scan-build to be onere of the stock pre-release checks.
Fix one minor cppcheck nit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The proximate cause was that we've been seing emission of error
messages that were randomly and disturbingly variable across different
environments - notably Raspbian and Gentoo splint gave nontrivially
different results than Ubuntu 14.10 splint. And this was *not* due to
Ubuntu patches! A pristine splint built from the 3.1.2 tarball on
Ubuntu didn't match the Raspbian and Gentoo results either.
But this has been coming for a while. Easy access to more modern
static analyzers such as coverity, scan-build and cppcheck has been
decreasing the utility of splint, which is unmaintained and somewhat
buggy and not easy to use.
Only file not cleaned is ppsthread.c, because Gary has been working
on it during this cleanup.
All regression tests pass. PPS observed live on GR601-W.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For these devices:
1. The hunt loop is disabled.
2. When emitting a PPS report, all other (non-/dev/pps) devices are
checked for in-band time. If no time is found the report is not
emitted. If time is ound its seconds field is incremented by 1 and it
is used
Every PPS from a device resets its online time, which should prevent
/dev/pps devices from timing out too often.
Not yet tested with a /dev/pps device. All regression tests oass.
|
| |
|
|
|
|
| |
Trying to cherry pick instead of just +siip-sys-headers
|
|
|
|
|
|
| |
[...]
Kinda obvious?
|
| |
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
| |
Ugh. Unnecessary, as rfds is set inside of gpsd_await_data().
|
|
|
|
| |
All regression tests pass.
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
| |
PPS observed live on GR601W.
|
|
|
|
|
|
|
| |
splint had a minor hissy fit after this change atround code that should
have been completely unrelated. Shut it up, too.
All regression tests pass.
|
| |
|
|
|
|
| |
PPS observed live on GR-601W. All regression yests pass.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change is done so we can add a "log" hook to the pps_thread_t
structure (this is not done yet) and harmonize with the name of the
outer logging function. If that name had been left as gpsd_report()
there would have been scope for bad confusion with the report_hook
member.
Also, remove two stray duplicative printf calls from the NMEA2000 driver
(drivers shouldn't have printfs!) and fix one typo.
This is a step towards factoring out ntplib. For that to happen, the
PPS thread code needs to be decoupled from the core session structure.
No logic changes. Object compatibility preserved. All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
| |
No logic changes, though it looks like there are two because two guards
that would always have failed when the code was compiled with pps=off
are now conditioned out. Also, this code is offset-preserving
so as not to break link-time compatibility of libgpsd.
(This is the subtler approach...)
All regression tests pass.
|
|
|
|
| |
We need to sneak up on this in a more subtle way.
|
|
|
|
|
|
| |
The new struct ppsthread_t isolates the interface to the PPS monitor loop.
It will need more members before we're done, including some reporting
hooks.
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
|
|
| |
for scons minimal=on
clang identified af as assigned but never used.
on closer inspection af is a file static and a parameter to one of the
functions renamed file static and guarded it with SOCKET_EXPORT_ENABLED
|
|
|
|
| |
Missing ifdef guard for SOCKET_EXPORT around usage of notify_watchers
|
|
|
|
| |
No code changes.
|
|
|
|
|
|
| |
All regression tests pass. PPS observed live with gosmon.
gpsmon presently ignores this message, but shout display its contents near PPS.
|
|
|
|
| |
No logic changes. All regression tesrs pass. Live PPS observed.
|
|
|
|
| |
declaration was missing a stacked guard for CONTROL_SOCKET_ENABLE
|
| |
|
|
|
|
| |
All regression tests pass. No logic changes.
|
| |
|
| |
|
| |
|
|
|
|
| |
All regression tests pass.
|
|
|
|
|
| |
No error checking was previously done on uses of ppslast_mutex. So
likely the mutex has never worked, just created the odd segfault.
|
| |
|
|
|
|
|
|
|
|
| |
Instead, we're going to try telling the tty layer to deliver input in chunks
larger than chracters, with a timeout. That way the select call in the main
loop will return data ready less often.
All regression tests pass.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To replicate the problem:
(1) Check out the parent of this revision.
(2) Run "gpsd -n -N -D 3 /dev/ttyUSB0" substituting the device as needed.
(3) Run the following script in another window:
while true
do
date
./gpspipe -n 3 -R -o /dev/null # hang if gpsd is sick
./gpspipe -d -R -o /dev/null
sleep 2
DELAY=$RANDOM # 0-32K
#usleep ${DELAY}00 # 0-3 seconds
sleep `echo "scale=6; $DELAY / 1000000" | bc`
killall gpspipe
#ps ax | grep gpspipe
done
(4) Run gpsmon in a third window.
gpsd will hang in 3-5 minutes, requiring kill -9, in the kernal hrtime
function.
|