- for (i=0; i<PIDHSZ; i++) {
- if (pgrphash[i]) {
- printf("\tindx %d\n", i);
- for (pgrp=pgrphash[i]; pgrp; pgrp=pgrp->pg_hforw) {
- printf("\tpgrp %x, pgid %d, sess %x, sesscnt %d, mem %x\n",
- pgrp, pgrp->pg_id, pgrp->pg_session,
- pgrp->pg_session->s_count, pgrp->pg_mem);
- for (p=pgrp->pg_mem; p; p=p->p_pgrpnxt) {
- printf("\t\tpid %d addr %x pgrp %x\n",
- p->p_pid, p, p->p_pgrp);
- }
- }
-
+ for (i = 0; i <= pgrphash; i++) {
+ if (pgrp = pgrphashtbl[i].lh_first) {
+ printf("\tindx %d\n", i);
+ for (; pgrp != 0; pgrp = pgrp->pg_hash.le_next) {
+ printf("\tpgrp %x, pgid %d, sess %x, sesscnt %d, mem %x\n",
+ pgrp, pgrp->pg_id, pgrp->pg_session,
+ pgrp->pg_session->s_count,
+ pgrp->pg_members.lh_first);
+ for (p = pgrp->pg_members.lh_first; p != 0;
+ p = p->p_pglist.le_next) {
+ printf("\t\tpid %d addr %x pgrp %x\n",
+ p->p_pid, p, p->p_pgrp);
+ }
+ }