- markus@cvs.openbsd.org 2002/01/10 11:13:29
[serverloop.c]
skip client_alive_check until there are channels; ok beck@
diff --git a/ChangeLog b/ChangeLog
index ad9e3fb..3826cd0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -110,6 +110,9 @@
[channels.c nchan.c]
replace buffer_consume(b, buffer_len(b)) with buffer_clear(b);
ok provos@
+ - markus@cvs.openbsd.org 2002/01/10 11:13:29
+ [serverloop.c]
+ skip client_alive_check until there are channels; ok beck@
20020121
@@ -7258,4 +7261,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1754 2002/01/22 12:21:15 djm Exp $
+$Id: ChangeLog,v 1.1755 2002/01/22 12:21:39 djm Exp $
diff --git a/serverloop.c b/serverloop.c
index 0c75b05..39d9920 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -35,7 +35,7 @@
*/
#include "includes.h"
-RCSID("$OpenBSD: serverloop.c,v 1.93 2001/12/28 15:06:00 markus Exp $");
+RCSID("$OpenBSD: serverloop.c,v 1.94 2002/01/10 11:13:29 markus Exp $");
#include "xmalloc.h"
#include "packet.h"
@@ -209,15 +209,21 @@
static void
client_alive_check(void)
{
+ static int had_channel = 0;
int id;
+ id = channel_find_open();
+ if (id == -1) {
+ if (!had_channel)
+ return;
+ packet_disconnect("No open channels after timeout!");
+ }
+ had_channel = 1;
+
/* timeout, check to see how many we have had */
if (++client_alive_timeouts > options.client_alive_count_max)
packet_disconnect("Timeout, your session not responding.");
- id = channel_find_open();
- if (id == -1)
- packet_disconnect("No open channels after timeout!");
/*
* send a bogus channel request with "wantreply",
* we should get back a failure