version 1.36, 2013/03/20 06:55:24 |
version 1.37, 2013/12/20 02:04:09 |
|
|
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 = CIRCLEQ_FIRST(&pcbtable.inpt_queue); |
next = TAILQ_FIRST(&pcbtable.inpt_queue); |
|
|
while (next != head) { |
while (next != head) { |
KREAD(next, &inpcb, sizeof (inpcb)); |
KREAD(next, &inpcb, sizeof (inpcb)); |
if (CIRCLEQ_PREV(&inpcb, inp_queue) != prev) { |
if (TAILQ_PREV(&inpcb, inpthead, inp_queue) != prev) { |
error("Kernel state in transition"); |
error("Kernel state in transition"); |
return 0; |
return 0; |
} |
} |
prev = next; |
prev = next; |
next = CIRCLEQ_NEXT(&inpcb, inp_queue); |
next = TAILQ_NEXT(&inpcb, inp_queue); |
|
|
if (!aflag) { |
if (!aflag) { |
if (!(inpcb.inp_flags & INP_IPV6) && |
if (!(inpcb.inp_flags & INP_IPV6) && |