traverse circular queue in a way that actually terminates; ok maintainer
This commit is contained in:
parent
719e68a3d9
commit
b49a901036
@ -1,6 +1,6 @@
|
|||||||
$OpenBSD: patch-src_sysdeps_bsd-net-open_c,v 1.3 2004/02/19 17:27:56 sturm Exp $
|
$OpenBSD: patch-src_sysdeps_bsd-net-open_c,v 1.4 2004/08/13 00:18:24 naddy Exp $
|
||||||
--- src/sysdeps/bsd-net-open.c.orig 2004-02-19 18:10:32.000000000 +0100
|
--- src/sysdeps/bsd-net-open.c.orig Sat May 1 19:46:38 2004
|
||||||
+++ src/sysdeps/bsd-net-open.c 2004-02-19 18:10:58.000000000 +0100
|
+++ src/sysdeps/bsd-net-open.c Thu Aug 12 23:06:35 2004
|
||||||
@@ -85,7 +85,7 @@ gkrellm_sys_disk_read_data(void)
|
@@ -85,7 +85,7 @@ gkrellm_sys_disk_read_data(void)
|
||||||
/* Separate read/write stats were implemented in NetBSD 1.6K.
|
/* Separate read/write stats were implemented in NetBSD 1.6K.
|
||||||
*/
|
*/
|
||||||
@ -10,3 +10,25 @@ $OpenBSD: patch-src_sysdeps_bsd-net-open_c,v 1.3 2004/02/19 17:27:56 sturm Exp $
|
|||||||
rbytes = d.dk_rbytes;
|
rbytes = d.dk_rbytes;
|
||||||
wbytes = d.dk_wbytes;
|
wbytes = d.dk_wbytes;
|
||||||
#else
|
#else
|
||||||
|
@@ -154,7 +154,7 @@ gkrellm_sys_inet_read_tcp_data(void)
|
||||||
|
ActiveTCP tcp;
|
||||||
|
gint tcp_status;
|
||||||
|
struct inpcbtable table;
|
||||||
|
- struct inpcb inpcb, *next;
|
||||||
|
+ struct inpcb inpcb, *head, *next;
|
||||||
|
struct tcpcb tcpcb;
|
||||||
|
static struct nlist nl[] = {
|
||||||
|
#define X_TCBTABLE 0
|
||||||
|
@@ -171,8 +171,11 @@ gkrellm_sys_inet_read_tcp_data(void)
|
||||||
|
sizeof(struct inpcbtable)) != sizeof(struct inpcbtable))
|
||||||
|
return;
|
||||||
|
|
||||||
|
+ head = (struct inpcb *)
|
||||||
|
+ &((struct inpcbtable *)nl[X_TCBTABLE].n_value)->inpt_queue.cqh_first;
|
||||||
|
next = (struct inpcb *)table.inpt_queue.cqh_first;
|
||||||
|
- while(next != NULL) {
|
||||||
|
+
|
||||||
|
+ while(next != head) {
|
||||||
|
|
||||||
|
if (kvm_read(kvmd, (u_long)next,
|
||||||
|
(char *)&inpcb, sizeof(inpcb)) == sizeof(inpcb) &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user