diff options
author | simokawa <simokawa@FreeBSD.org> | 2004-02-20 10:59:46 +0000 |
---|---|---|
committer | simokawa <simokawa@FreeBSD.org> | 2004-02-20 10:59:46 +0000 |
commit | 7ba479f8386b4828f95fc01c4b5da58fbc7d9168 (patch) | |
tree | a9f86a1f40250fe52e52f676f67e2a8585438fd0 /usr.sbin/dconschat/dconschat.c | |
parent | 2c4f32657572db29701324422c8aa756386d773c (diff) | |
download | FreeBSD-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.c | 11 |
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; |