mirror of
https://gitlab.isc.org/isc-projects/dhcp
synced 2025-08-30 13:57:50 +00:00
Clean up a loophole in the code that sets up the pool expiry timer.
This commit is contained in:
parent
c4f749466f
commit
a816cb178e
20
server/mdb.c
20
server/mdb.c
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user