summaryrefslogtreecommitdiffstats
path: root/usr.sbin/dconschat/dconschat.c
diff options
context:
space:
mode:
authorsimokawa <simokawa@FreeBSD.org>2004-02-20 10:59:46 +0000
committersimokawa <simokawa@FreeBSD.org>2004-02-20 10:59:46 +0000
commit7ba479f8386b4828f95fc01c4b5da58fbc7d9168 (patch)
treea9f86a1f40250fe52e52f676f67e2a8585438fd0 /usr.sbin/dconschat/dconschat.c
parent2c4f32657572db29701324422c8aa756386d773c (diff)
downloadFreeBSD-src-7ba479f8386b4828f95fc01c4b5da58fbc7d9168.zip
FreeBSD-src-7ba479f8386b4828f95fc01c4b5da58fbc7d9168.tar.gz
Normalize polling interval while the target is offline.
Diffstat (limited to 'usr.sbin/dconschat/dconschat.c')
-rw-r--r--usr.sbin/dconschat/dconschat.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/usr.sbin/dconschat/dconschat.c b/usr.sbin/dconschat/dconschat.c
index c3a89db..9c8b89d 100644
--- a/usr.sbin/dconschat/dconschat.c
+++ b/usr.sbin/dconschat/dconschat.c
@@ -63,7 +63,8 @@
#include <sys/errno.h>
-#define DCONS_POLL_HZ 100
+#define DCONS_POLL_HZ 100
+#define DCONS_POLL_OFFLINE 2 /* sec */
#define RETRY 3
@@ -75,6 +76,7 @@
int verbose = 0;
int tc_set = 0;
+int poll_hz = DCONS_POLL_HZ;
#define IS_CONSOLE(p) ((p)->port == 0)
#define IS_GDB(p) ((p)->port == 1)
@@ -765,10 +767,11 @@ dconschat_start_session(struct dcons_state *dc)
int counter = 0;
while (1) {
- if ((dc->flags & F_READY) == 0 && (++counter % 200) == 0)
+ if ((dc->flags & F_READY) == 0 &&
+ (++counter % (poll_hz * DCONS_POLL_OFFLINE)) == 0)
dconschat_fetch_header(dc);
if ((dc->flags & F_READY) != 0)
- dconschat_proc_dcons(dc);
+ dconschat_proc_dcons(dc);
dconschat_proc_socket(dc);
}
return (0);
@@ -808,7 +811,7 @@ main(int argc, char **argv)
struct fw_eui64 eui;
char devname[256], *core = NULL, *system = NULL;
int i, ch, error;
- int unit=0, wildcard=0, poll_hz = DCONS_POLL_HZ;
+ int unit=0, wildcard=0;
int port[DCONS_NPORT];
u_int64_t target = 0;
OpenPOWER on IntegriCloud