aboutsummaryrefslogtreecommitdiff
path: root/tools/plink/pinger.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-04-14 23:49:11 +0200
committermarha <marha@users.sourceforge.net>2014-04-14 23:49:11 +0200
commit3053928d3e9e12e59c46917113bad496487f1d28 (patch)
tree591c17cafc365399cc88774bba985af7276d957e /tools/plink/pinger.c
parent7c21629fbeb51b65fd0625bb36d888587d62fd89 (diff)
parenta3fe3e22d85e8aa795df85c21814fc84cac42e99 (diff)
downloadvcxsrv-3053928d3e9e12e59c46917113bad496487f1d28.tar.gz
vcxsrv-3053928d3e9e12e59c46917113bad496487f1d28.tar.bz2
vcxsrv-3053928d3e9e12e59c46917113bad496487f1d28.zip
Merge remote-tracking branch 'origin/released'
Conflicts: tools/plink/misc.h tools/plink/ssh.c tools/plink/sshbn.c tools/plink/winplink.c
Diffstat (limited to 'tools/plink/pinger.c')
-rw-r--r--tools/plink/pinger.c144
1 files changed, 72 insertions, 72 deletions
diff --git a/tools/plink/pinger.c b/tools/plink/pinger.c
index 00cd6675e..3f533ae6e 100644
--- a/tools/plink/pinger.c
+++ b/tools/plink/pinger.c
@@ -1,72 +1,72 @@
-/*
- * pinger.c: centralised module that deals with sending TS_PING
- * keepalives, to avoid replicating this code in multiple backends.
- */
-
-#include "putty.h"
-
-struct pinger_tag {
- int interval;
- int pending;
- long next;
- Backend *back;
- void *backhandle;
-};
-
-static void pinger_schedule(Pinger pinger);
-
-static void pinger_timer(void *ctx, long now)
-{
- Pinger pinger = (Pinger)ctx;
-
- if (pinger->pending && now - pinger->next >= 0) {
- pinger->back->special(pinger->backhandle, TS_PING);
- pinger->pending = FALSE;
- pinger_schedule(pinger);
- }
-}
-
-static void pinger_schedule(Pinger pinger)
-{
- int next;
-
- if (!pinger->interval) {
- pinger->pending = FALSE; /* cancel any pending ping */
- return;
- }
-
- next = schedule_timer(pinger->interval * TICKSPERSEC,
- pinger_timer, pinger);
- if (!pinger->pending || next < pinger->next) {
- pinger->next = next;
- pinger->pending = TRUE;
- }
-}
-
-Pinger pinger_new(Conf *conf, Backend *back, void *backhandle)
-{
- Pinger pinger = snew(struct pinger_tag);
-
- pinger->interval = conf_get_int(conf, CONF_ping_interval);
- pinger->pending = FALSE;
- pinger->back = back;
- pinger->backhandle = backhandle;
- pinger_schedule(pinger);
-
- return pinger;
-}
-
-void pinger_reconfig(Pinger pinger, Conf *oldconf, Conf *newconf)
-{
- int newinterval = conf_get_int(newconf, CONF_ping_interval);
- if (conf_get_int(oldconf, CONF_ping_interval) != newinterval) {
- pinger->interval = newinterval;
- pinger_schedule(pinger);
- }
-}
-
-void pinger_free(Pinger pinger)
-{
- expire_timer_context(pinger);
- sfree(pinger);
-}
+/*
+ * pinger.c: centralised module that deals with sending TS_PING
+ * keepalives, to avoid replicating this code in multiple backends.
+ */
+
+#include "putty.h"
+
+struct pinger_tag {
+ int interval;
+ int pending;
+ unsigned long next;
+ Backend *back;
+ void *backhandle;
+};
+
+static void pinger_schedule(Pinger pinger);
+
+static void pinger_timer(void *ctx, unsigned long now)
+{
+ Pinger pinger = (Pinger)ctx;
+
+ if (pinger->pending && now == pinger->next) {
+ pinger->back->special(pinger->backhandle, TS_PING);
+ pinger->pending = FALSE;
+ pinger_schedule(pinger);
+ }
+}
+
+static void pinger_schedule(Pinger pinger)
+{
+ int next;
+
+ if (!pinger->interval) {
+ pinger->pending = FALSE; /* cancel any pending ping */
+ return;
+ }
+
+ next = schedule_timer(pinger->interval * TICKSPERSEC,
+ pinger_timer, pinger);
+ if (!pinger->pending || next < pinger->next) {
+ pinger->next = next;
+ pinger->pending = TRUE;
+ }
+}
+
+Pinger pinger_new(Conf *conf, Backend *back, void *backhandle)
+{
+ Pinger pinger = snew(struct pinger_tag);
+
+ pinger->interval = conf_get_int(conf, CONF_ping_interval);
+ pinger->pending = FALSE;
+ pinger->back = back;
+ pinger->backhandle = backhandle;
+ pinger_schedule(pinger);
+
+ return pinger;
+}
+
+void pinger_reconfig(Pinger pinger, Conf *oldconf, Conf *newconf)
+{
+ int newinterval = conf_get_int(newconf, CONF_ping_interval);
+ if (conf_get_int(oldconf, CONF_ping_interval) != newinterval) {
+ pinger->interval = newinterval;
+ pinger_schedule(pinger);
+ }
+}
+
+void pinger_free(Pinger pinger)
+{
+ expire_timer_context(pinger);
+ sfree(pinger);
+}