version 1.27, 2005/05/10 17:12:00 |
version 1.28, 2005/10/17 19:04:20 |
|
|
again: |
again: |
KREAD(off, &pcbtable, sizeof (struct inpcbtable)); |
KREAD(off, &pcbtable, sizeof (struct inpcbtable)); |
prev = head = (struct inpcb *)&((struct inpcbtable *)off)->inpt_queue; |
prev = head = (struct inpcb *)&((struct inpcbtable *)off)->inpt_queue; |
next = pcbtable.inpt_queue.cqh_first; |
next = CIRCLEQ_FIRST(&pcbtable.inpt_queue); |
while (next != head) { |
while (next != head) { |
KREAD(next, &inpcb, sizeof (inpcb)); |
KREAD(next, &inpcb, sizeof (inpcb)); |
if (inpcb.inp_queue.cqe_prev != prev) { |
if (CIRCLEQ_PREV(&inpcb, inp_queue) != prev) { |
printf("prev = %p, head = %p, next = %p, inpcb...prev = %p\n", |
printf("prev = %p, head = %p, next = %p, inpcb...prev = %p\n", |
prev, head, next, inpcb.inp_queue.cqe_prev); |
prev, head, next, CIRCLEQ_PREV(&inpcb, inp_queue)); |
p = netcb.nif_forw; |
p = netcb.nif_forw; |
for (; p != (struct netinfo *)&netcb; p = p->nif_forw) |
for (; p != (struct netinfo *)&netcb; p = p->nif_forw) |
p->nif_seen = 1; |
p->nif_seen = 1; |
|
|
return; |
return; |
} |
} |
prev = next; |
prev = next; |
next = inpcb.inp_queue.cqe_next; |
next = CIRCLEQ_NEXT(&inpcb, inp_queue); |
|
|
if (!aflag) { |
if (!aflag) { |
if (!(inpcb.inp_flags & INP_IPV6) && |
if (!(inpcb.inp_flags & INP_IPV6) && |