Date: Wed, 22 Jan 2014 09:27:29 +0100 From: Thomas Veerman Message-ID: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="52df80f1_8138641_13bb7" Subject: [Openvpn-devel] [PATCH] Update expiry date in management event loop List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: openvpn-devel@lists.sourceforge.net --52df80f1_8138641_13bb7 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline 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. --- =C2=A0src/openvpn/manage.c | 3 ++- =C2=A01 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 *m= an, int sec) =C2=A0 =C2=A0 =C2=A0man_check_for_signals (&signal_received); =C2=A0 =C2=A0if (signal_received) =C2=A0 =C2=A0 =C2=A0return; - } while (expire); + =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0update_time(); + } while (expire && expire > now); =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/* revert state */ =C2=A0 =C2=A0 =C2=A0 =C2=A0man->persist.standalone_disabled =3D standalone_= disabled_save; --=C2=A0 1.7.12.4 (Apple Git-37) --52df80f1_8138641_13bb7 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline =
When there are events from the management console with an interval shor= ter
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/mana= ge.c
+++ b/src/op= envpn/manage.c
@@= -2922,7 +2922,8 @@ management_event_loop_n_seconds (struct management *man= , int sec)
 =   &n= bsp;man_check_for_signals (&signal_received);
   if (signal_received)
     return;
- } while (expire);
+          update= _time();
+ } while (expire &= amp;& expire > now);
 
       /* revert state */
       man->persist.st= andalone_disabled =3D standalone_disabled_save;
-- 
1.7.12.4 (Apple Git-37)

= --52df80f1_8138641_13bb7--