Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Back out the attempt to use VTIME. | Eric S. Raymond | 2015-01-31 | 18 | -97/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to Matthias Drochner at http://lists.lysator.liu.se/pipermail/lsh-bugs/2003q4/000151.html: I thought I'd give lsh a try, just to see how it compares to openssh... The client didn't work well on NetBSD, got a message like "unexpected EWOULDBLOCK" on each keystroke. Looked a bit deeper and found that stdin is set to O_NONBLOCK and a raw tty mode with c_cc[VMIN] > 1 and c_cc[VTIME] > 0. I'll append a little test program which does the same. I've tried it on 3 operating systems (Linux, NetBSD, Digital UNIX), and it behaves differently on each: -on Linux, if a key is pressed, the read returns immediately with that one character -on NetBSD, the read returns with no data but EWOULDBLOCK -on D'UNIX, the poll() doesn't teturn before 4 keypresses are done; the read() returns these 4 characters Indeed, in SUSv2's termios page is a sentence which says that if both O_NONBLOCK and VTIME>0 are set, the behaviour is more or less undefined. I've solved my immediate problems by setting VMIN to 1 instead of 4 in unix_interact.c:do_make_raw(), but VTIME is still pointless, so I wouldn't call this a clean solution. All regression tests pass. | ||||
* | Comment typo fix. | Eric S. Raymond | 2015-01-31 | 1 | -1/+1 |
| | |||||
* | Add more help text to test_nmea2000. | Reinhard Arlt | 2015-01-31 | 1 | -2/+10 |
| | |||||
* | Add -b (build) option to test_nma2000. | Reinhard Arlt | 2015-01-31 | 1 | -3/+10 |
| | |||||
* | New checkfile for nmea2000. | Reinhard Arlt | 2015-01-31 | 1 | -24/+24 |
| | |||||
* | Add new scale routine. | Reinhard Arlt | 2015-01-31 | 1 | -2/+15 |
| | |||||
* | Merge logs. | Reinhard Arlt | 2015-01-31 | 5 | -8/+80 |
|\ | |||||
| * | Fix PPS comments. | Gary E. Miller | 2015-01-30 | 1 | -3/+2 |
| | | | | | | | | | | Chronyd may slew the clock rate up to 8.334%. So never fail short term time measurements seemingly off by 10% or less. | ||||
| * | Loosen up some 1 Hz PPS guard bands. | Gary E. Miller | 2015-01-31 | 1 | -2/+8 |
| | | | | | | | | | | | | | | | | When a Rasberry Pi starts up, its clock can be very bad until gpsd gives ntpd/chronyd enough to tame it. ntpd/chronyd have very good filters, Let them decide what time to use and not try to duplicate their. | ||||
| * | Document why gpsd needs to die on certain mutex failures. | Gary E. Miller | 2015-01-30 | 1 | -0/+9 |
| | | |||||
| * | Add missing pthread_mutex_init(&ppslast_mutex) | Gary E. Miller | 2015-01-30 | 3 | -0/+20 |
| | | | | | | | | | | No error checking was previously done on uses of ppslast_mutex. So likely the mutex has never worked, just created the odd segfault. | ||||
| * | Missing \n in debug statement. | Gary E. Miller | 2015-01-30 | 1 | -1/+1 |
| | | |||||
| * | Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/gpsd | Gary E. Miller | 2015-01-30 | 1 | -1/+15 |
| |\ | |||||
| | * | Add workaround for VMIN/VTIME situation. | Greg Troxel | 2015-01-30 | 1 | -1/+15 |
| | | | | | | | | | | | | | | | On NetBSD, there's something wrong between gpsd code, select and termios's VMIN/VTIME. Until debugged, avoid it. | ||||
| * | | Check return codes for pthread_mutex*() in ppsthread.c | Gary E. Miller | 2015-01-30 | 1 | -4/+28 |
| |/ | | | | | | | Not checking returns codes is always a bad idea. | ||||
* | | Change JSON encoding in checkfile. | Reinhard Arlt | 2015-01-31 | 1 | -123/+123 |
|/ | |||||
* | Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/gpsd | Gary E. Miller | 2015-01-30 | 2 | -5/+5 |
|\ | |||||
| * | Fix a formatting error in AIS JSON generation (client library get it right). | Eric S. Raymond | 2015-01-30 | 2 | -5/+5 |
| | | | | | | | | Required one test rebuild. | ||||
* | | Restore hastily removed checks on pthread usage. | Gary E. Miller | 2015-01-30 | 1 | -2/+14 |
|/ | | | | Any failure of pthread_mutex_lock() is a fatal error. | ||||
* | Assertions cleanup and new policy. All regression tests pass. | Eric S. Raymond | 2015-01-30 | 4 | -11/+48 |
| | |||||
* | Add BUILD.* and CHECK.* to .gitignore | Greg Troxel | 2015-01-30 | 1 | -0/+3 |
| | | | | (These are produced by devtools/do-build.) | ||||
* | Add a note about NTP latency reduction. | Eric S. Raymond | 2015-01-30 | 1 | -2/+3 |
| | |||||
* | Correct assertions in libgpsd_core to assert 0 == err | Jon Schlueter | 2015-01-30 | 1 | -2/+2 |
| | |||||
* | Fix PPS comment. | Gary E. Miller | 2015-01-29 | 1 | -3/+3 |
| | |||||
* | Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/gpsd | Gary E. Miller | 2015-01-29 | 1 | -1/+2 |
|\ | |||||
| * | Add netbsd6 regression timing data. | Greg Troxel | 2015-01-29 | 1 | -1/+2 |
| | | |||||
* | | Add assert()s to the mutex lock/unlock. | Gary E. Miller | 2015-01-29 | 1 | -2/+6 |
|/ | | | | When in doubt, always test return codes. | ||||
* | Alas, we can't use ICANON. | Eric S. Raymond | 2015-01-29 | 1 | -1/+5 |
| | | | | | | | | For the moment, we do nothing with the textual argument to gpsd_optimize_io(). We'd like to use it to set ICANON mode and let the kernel do all the line buffering itself. The problem with this is that VTIME stops working in ICANON, so a binary packet coming up the wire would result in no further input being seen. | ||||
* | Rare I/O with timeout seems to work. This replaces the adaptive-delay code. | Eric S. Raymond | 2015-01-29 | 1 | -4/+31 |
| | |||||
* | Create a logic path for each driver to set tty controls. | Eric S. Raymond | 2015-01-29 | 3 | -0/+14 |
| | |||||
* | splint cleanup for gpsdecode -m implementation. | Eric S. Raymond | 2015-01-29 | 1 | -2/+2 |
| | |||||
* | Add a minimum packet length to every driver. | Eric S. Raymond | 2015-01-29 | 15 | -0/+36 |
| | | | | Length 0 means the minimum is unknown and the driver should use character I/O. | ||||
* | Remove the failed adaptive-delay experiment. | Eric S. Raymond | 2015-01-29 | 3 | -97/+0 |
| | | | | | | | | 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. | ||||
* | Document that -m ignores comment packets. | Eric S. Raymond | 2015-01-29 | 1 | -2/+2 |
| | |||||
* | Add gpsdecode -m option for dumping minimum packet lengths. | Eric S. Raymond | 2015-01-29 | 3 | -1/+37 |
| | |||||
* | Add more help to test_nmea2000. | Reinhard Arlt | 2015-01-29 | 1 | -6/+34 |
| | |||||
* | Improve test_nmea2000. | Reinhard Arlt | 2015-01-29 | 1 | -6/+27 |
| | |||||
* | First version of test_nmea2000 testscript. | Reinhard Arlt | 2015-01-29 | 1 | -0/+53 |
| | |||||
* | Using SIOCOUTQ to flush output on client socket close caused a hard hang. | Eric S. Raymond | 2015-01-28 | 1 | -17/+0 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | Add netbsd5-specific gpsfake timing and comments. | Greg Troxel | 2015-01-28 | 1 | -0/+14 |
| | | | | | It seems NetBSD-5 has different behavior than 6. Add a new if branch for 5 with longer delays. | ||||
* | Shorten OS X delays. | Greg Troxel | 2015-01-28 | 1 | -3/+7 |
| | |||||
* | Remove a guard that is duplicated in the called function. | Eric S. Raymond | 2015-01-28 | 1 | -11/+9 |
| | | | | All regression tests pass. | ||||
* | Merge branch 'master' of git://git.sv.gnu.org/gpsd | Reinhard Arlt | 2015-01-28 | 1 | -1/+2 |
|\ | |||||
| * | Reduce OSX delay slightly, and add datapoint. | Greg Troxel | 2015-01-28 | 1 | -1/+2 |
| | | |||||
* | | Add logfile and checkfile for nmea2000. | Reinhard Arlt | 2015-01-28 | 2 | -0/+25242 |
|/ | |||||
* | Reduce log verbosity. | Eric S. Raymond | 2015-01-27 | 1 | -2/+2 |
| | |||||
* | Try a simpler adaptive-delay formula that produces shorter delays. | Eric S. Raymond | 2015-01-27 | 2 | -8/+15 |
| | | | | All regression tests pass. | ||||
* | Use %.3f for WRITE_PAD, because 0.004 is a typical value. | Greg Troxel | 2015-01-27 | 1 | -1/+1 |
| | |||||
* | Fix an erroneous format literal. | Eric S. Raymond | 2015-01-27 | 1 | -1/+1 |
| | |||||
* | Make PPS delivery troubleshooting a bit easier. All regression tests pass. | Eric S. Raymond | 2015-01-27 | 2 | -10/+24 |
| |