Mercurial > hg > dhcpcd
changeset 57:e2185cab548d draft
Don't try to send messages when we infinite leasetime and the interface
fd is closed.
| author | Roy Marples <roy@marples.name> |
|---|---|
| date | Thu, 08 Feb 2007 09:40:22 +0000 |
| parents | ec69e8346e0d |
| children | 8120e49daefd |
| files | ChangeLog Makefile client.c |
| diffstat | 3 files changed, 21 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Sun Jan 28 16:54:27 2007 +0000 +++ b/ChangeLog Thu Feb 08 09:40:22 2007 +0000 @@ -1,3 +1,7 @@ +dhcpcd-3.0.11 +Don't try to send messages when we infinite leasetime and the interface +fd is closed. + dhcpcd-3.0.10 Only write a new ntp.conf if any of our servers are not present in it. We now work with SIGCHLD and call wait so that we don't leave any
--- a/Makefile Sun Jan 28 16:54:27 2007 +0000 +++ b/Makefile Thu Feb 08 09:40:22 2007 +0000 @@ -1,6 +1,6 @@ # Should work for both GNU make and BSD make -VERSION = 3.0.10 +VERSION = 3.0.11 CFLAGS ?= -O2 -pipe
--- a/client.c Sun Jan 28 16:54:27 2007 +0000 +++ b/client.c Thu Feb 08 09:40:22 2007 +0000 @@ -181,18 +181,23 @@ retval = 0; while (retval == 0) { - /* Slow down our requests */ - if (retry < TIMEOUT_MINI_INF) - retry += TIMEOUT_MINI; - else if (retry > TIMEOUT_MINI_INF) - retry = TIMEOUT_MINI_INF; + maxfd = signal_fd_set (&rset, iface->fd); + if (iface->fd == -1) + retval = select (maxfd + 1, &rset, NULL, NULL, NULL); + else + { + /* Slow down our requests */ + if (retry < TIMEOUT_MINI_INF) + retry += TIMEOUT_MINI; + else if (retry > TIMEOUT_MINI_INF) + retry = TIMEOUT_MINI_INF; - tv.tv_sec = retry; - tv.tv_usec = 0; - maxfd = signal_fd_set (&rset, iface->fd); - retval = select (maxfd + 1, &rset, NULL, NULL, &tv); - if (retval == 0) - SEND_MESSAGE (last_type); + tv.tv_sec = retry; + tv.tv_usec = 0; + retval = select (maxfd + 1, &rset, NULL, NULL, &tv); + if (retval == 0) + SEND_MESSAGE (last_type); + } } } else
