[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gpsd-commit-watch] [SCM] GPSD branch, master, updated. release-3.11-344
From: |
Eric S. Raymond |
Subject: |
[gpsd-commit-watch] [SCM] GPSD branch, master, updated. release-3.11-344-gef39b1c |
Date: |
Mon, 02 Feb 2015 17:24:52 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GPSD".
The branch, master has been updated
via ef39b1cd848a006751b1d30c931056a5790e3116 (commit)
via 4ef555df8055cf12f23530e18e3bfdd51d20e26f (commit)
via 819093f0604d6cf3a2c08f2baff328543e32afe2 (commit)
from 6f16b7ffd45d933e8ad6916d5bad17140384e69c (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit ef39b1cd848a006751b1d30c931056a5790e3116
Author: Eric S. Raymond <address@hidden>
Date: Mon Feb 2 12:23:29 2015 -0500
Now we open with nonblock, set CLOCAL, and then turn off nonblock.
All regression tests pass.
commit 4ef555df8055cf12f23530e18e3bfdd51d20e26f
Author: Eric S. Raymond <address@hidden>
Date: Mon Feb 2 11:58:13 2015 -0500
O_NONBLOCK was causing more grief than we knew. We don't need VTIME!
All regression tests pass.
commit 819093f0604d6cf3a2c08f2baff328543e32afe2
Author: Eric S. Raymond <address@hidden>
Date: Mon Feb 2 08:53:44 2015 -0500
Revert mistaken use of CLOCAL in open(2).
All regression tests pass.
Hal Murray thinks we should be opening the device, setting CLOCAL with
tcsetattr() , closing it, and reopening. This is a good idea in
principle but doing it right will require serious preparatory surgery
on the serial.c code.
According to StackOverflow, the specific thing CLOCAL does is disable
signaling
the process on CD drop.
The Modem HOWTO says this:
Normally a CD (Carrier Detect) signal (on the CD wire for an external
modem) is [not] required before a serial port can be opened. But if stty has
negated clocal (-clocal), then the port requires CD raised for the
port to open and remain open. Actually, a skilled programmer can write
the program in such a way as to force the port to open even when CD
and clocal say not to. So if stty shows -clocal then there might be a
problem with opening the port. But for dial-in, in some cases you may
want -clocal so that when the remote modem stops sending a carrier and
CD drops, the port will close and terminate all processes running on
it.
The above is internally inconsistent without the inserted "not".
The Gnu C library documentation says:
Macro: tcflag_t CLOCAL
If this bit is set, it indicates that the terminal is connected
"locally" and that the modem status lines (such as carrier detect)
should be ignored.
On many systems if this bit is not set and you call open without
the O_NONBLOCK flag set, open blocks until a modem connection is
established.
If this bit is not set and a modem disconnect is detected, a
SIGHUP signal is sent to the controlling process group for the
terminal (if it has one). Normally, this causes the process to
exit; see 24. Signal Handling. Reading from the terminal after a
disconnect causes an end-of-file condition, and writing causes an
EIO error to be returned. The terminal device must be closed and
reopened to clear the condition.
-----------------------------------------------------------------------
Summary of changes:
serial.c | 21 ++++++++++++++++-----
1 files changed, 16 insertions(+), 5 deletions(-)
hooks/post-receive
--
GPSD
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gpsd-commit-watch] [SCM] GPSD branch, master, updated. release-3.11-344-gef39b1c,
Eric S. Raymond <=