]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
Merge bk://www.ntp.org/ntp-dev
authorDave Hart <hart@ntp.org>
Thu, 16 Jul 2009 16:33:25 +0000 (16:33 +0000)
committerDave Hart <hart@ntp.org>
Thu, 16 Jul 2009 16:33:25 +0000 (16:33 +0000)
into  shiny.ad.hartbrothers.com:C:/ntp/ntp-dev-1246

bk: 4a5f5655_ylHhP1EIidnOe1gW8XdlQ

1  2 
ChangeLog
include/ntp.h
ntpd/ntp_io.c
ports/winnt/ntpd/ntp_iocompletionport.c

diff --cc ChangeLog
index 4f04d1a20e8f12dd0085070e8b4f94e66685353b,28b9024c7749f7229be34d9f7ceae74b19217342..851616f1609fc66528c7d1ec4c53a1c14970628e
+++ b/ChangeLog
@@@ -1,18 -1,5 +1,20 @@@
+ * [Bug 1246] use a common template for singly-linked lists, convert most
+   doubly-linked lists to singly-linked.
 +(4.2.5p189) 2009/07/16 Released by Harlan Stenn <stenn@ntp.org>
 +* Documentation cleanup from Dave Mills.
 +(4.2.5p188) 2009/07/15 Released by Harlan Stenn <stenn@ntp.org>
 +* [Bug 1245] Broken xmt time sent in fast_xmit() of 4.2.5p187.
 +(4.2.5p187) 2009/07/11 Released by Harlan Stenn <stenn@ntp.org>
 +* [Bug 1042] multicast listeners IPv4+6 ignore new interfaces.
 +* [Bug 1237] Windows serial code treat CR and LF both as line
 +  terminators.
 +* [Bug 1238] use fudge time2 for serial timecode offset in NMEA driver.
 +* [Bug 1242] Remove --enable-wintime, symmetric workaround is now
 +  always enabled.
 +* [Bug 1244] NTP_INSIST(fd != maxactivefd) failure in intres child
 +* Added restrict keyword "mssntp" for Samba4 DC operation, by Dave Mills.
 +(4.2.5p186) 2009/07/08 Released by Harlan Stenn <stenn@ntp.org>
 +* ntp_proto.c cleanup from Dave Mills.
  (4.2.5p185) 2009/07/01 Released by Harlan Stenn <stenn@ntp.org>
  * Documentation updates from Dave Mills.
  * [Bug 1234] convert NMEA driver to use common PPSAPI code.
diff --cc include/ntp.h
Simple merge
diff --cc ntpd/ntp_io.c
index 3828ae1077b97a2beb6e2b2fd20476dc4ec28a83,6cc0194cf58e7cbc2c50814d22baf525a765f956..12732d4cd45692a0ba1ec563f12e811426bffd44
@@@ -3859,29 -3777,16 +3784,23 @@@ delete_interface_from_list
        struct interface *iface
        )
  {
-       remaddr_t *next;
-       remaddr_t *entry;
-       
-       entry = ISC_LIST_HEAD(remoteaddr_list);
+       remaddr_t *unlinked;
  
-       while (entry != NULL) {
-               next = ISC_LIST_NEXT(entry, link);
-               if (entry->interface == iface) {
-                       ISC_LIST_DEQUEUE_TYPE(remoteaddr_list, entry,
-                                             link, remaddr_t);
 -      UNLINK_EXPR_SLIST(unlinked, remoteaddr_list, iface ==
 -              UNLINK_EXPR_SLIST_CURRENT()->interface, link, remaddr_t);
 -
 -      if (unlinked != NULL) {
 -              DPRINTF(4, ("Deleted addr %s for interface #%d %s from list of addresses\n",
 -                      stoa(&unlinked->addr), iface->ifnum, iface->name));
 -              free(unlinked);
 -      }
++      do {
++              UNLINK_EXPR_SLIST(unlinked, remoteaddr_list, iface ==
++                  UNLINK_EXPR_SLIST_CURRENT()->interface, link,
++                  remaddr_t);
++
++              if (unlinked != NULL) {
 +                      DPRINTF(4, ("Deleted addr %s for interface #%d %s from list of addresses\n",
-                                   stoa(&entry->addr), iface->ifnum,
-                                   iface->name));
-                       if (addr_ismulticast(&entry->addr)) {
++                              stoa(&unlinked->addr), iface->ifnum,
++                              iface->name));
++                      if (addr_ismulticast(&unlinked->addr))
 +                              /* find a new interface to use */
-                               io_multicast_add(&entry->addr);
-                               /* the list may have changed */
-                               next = ISC_LIST_HEAD(remoteaddr_list);
-                       }
-                       free(entry);
++                              io_multicast_add(&unlinked->addr);
++                      free(unlinked);
 +              }
-               entry = next;
-       }
++      } while (unlinked != NULL);
  }