Sigma was computed based on the absolute time and
not the delta.
Note that this probably makes no actual difference in
practice. The sigma value is irrelevant on first call
and multi_push_restart_schedule_exit should not be
called multiple times since it is only called
if deferred_shutdown_signal.signal_received is not set,
yet.
Change-Id: I62b8263f18c4e2e7f5ecacb4616737f5ba836303
Signed-off-by: Frank Lichtenheld <frank@lichtenheld.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1311
Message-Id: <
20251215150500.18898-1-gert@greenie.muc.de>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg35075.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
{
struct hash_iterator hi;
struct hash_element *he;
- struct timeval tv;
/* tell all clients to restart */
hash_iterator_init(m->iter, &hi);
/* reschedule signal */
ASSERT(!openvpn_gettimeofday(&m->deferred_shutdown_signal.wakeup, NULL));
- tv.tv_sec = 2;
- tv.tv_usec = 0;
+ struct timeval tv = { .tv_sec = 2, .tv_usec = 0 };
tv_add(&m->deferred_shutdown_signal.wakeup, &tv);
m->deferred_shutdown_signal.signal_received = m->top.sig->signal_received;
schedule_add_entry(m->schedule, (struct schedule_entry *)&m->deferred_shutdown_signal,
&m->deferred_shutdown_signal.wakeup,
- compute_wakeup_sigma(&m->deferred_shutdown_signal.wakeup));
+ compute_wakeup_sigma(&tv));
signal_reset(m->top.sig, 0);
}