When there are events from the management console with an interval shorter
than 1 second, the event loop never stops as it keeps resetting event_wait.
---
 src/openvpn/manage.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/openvpn/manage.c b/src/openvpn/manage.c
index 22dbe13..42a87c2 100644
--- a/src/openvpn/manage.c
+++ b/src/openvpn/manage.c
@@ -2922,7 +2922,8 @@ management_event_loop_n_seconds (struct management *man, 
int sec)
            man_check_for_signals (&signal_received);
          if (signal_received)
            return;
-       } while (expire);
+          update_time();
+       } while (expire && expire > now);
 
       /* revert state */
       man->persist.standalone_disabled = standalone_disabled_save;
-- 
1.7.12.4 (Apple Git-37)

Reply via email to