]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
Clean up a loophole in the code that sets up the pool expiry timer.
authorTed Lemon <source@isc.org>
Thu, 28 Oct 1999 15:53:05 +0000 (15:53 +0000)
committerTed Lemon <source@isc.org>
Thu, 28 Oct 1999 15:53:05 +0000 (15:53 +0000)
server/mdb.c

index 547790d698c626fa8f4e69c1d07658087d68f402..f7bfd98fe9f3dc0d93136ef5b6e7c4efc08ff3f6 100644 (file)
@@ -22,7 +22,7 @@
 
 #ifndef lint
 static char copyright[] =
-"$Id: mdb.c,v 1.16 1999/10/28 13:07:06 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
+"$Id: mdb.c,v 1.17 1999/10/28 15:53:05 mellon Exp $ Copyright (c) 1995, 1996, 1997, 1998, 1999 The Internet Software Consortium.  All rights reserved.\n";
 #endif /* not lint */
 
 #include "dhcpd.h"
@@ -1036,16 +1036,14 @@ int supersede_lease (comp, lease, commit)
                           it's run any outstanding expiry events on the
                           pool. */
                        if (comp -> pool) {
-                           if (!comp -> pool -> next_expiry) {
-                               comp -> pool -> next_expiry = comp;
-                               if (commit)
-                                       add_timeout (comp -> ends,
-                                                    pool_timer, comp -> pool);
-                           } else if (comp -> ends <
-                                      comp -> pool -> next_expiry -> ends) {
-                               if (commit)
-                                       add_timeout (comp -> ends,
-                                                    pool_timer, comp -> pool);
+                           if (!comp -> pool -> next_expiry ||
+                               (comp -> ends <
+                                comp -> pool -> next_expiry -> ends)) {
+                                   comp -> pool -> next_expiry = comp;
+                                   if (commit)
+                                           add_timeout (comp -> ends,
+                                                        pool_timer,
+                                                        comp -> pool);
                            }
                        }
                }