diff -ur linux-1.1.51/include/linux/sched.h linux/include/linux/sched.h --- linux-1.1.51/include/linux/sched.h Sat Sep 24 18:42:40 1994 +++ linux/include/linux/sched.h Sun Sep 18 16:00:00 1994 @@ -301,6 +301,7 @@ struct files_struct files[1]; /* memory management info */ struct mm_struct mm[1]; + struct wait_queue **ak_wait; }; /* @@ -476,6 +477,8 @@ wait->next = (*p)->next; (*p)->next = wait; } + if(current) + current->ak_wait = p; restore_flags(flags); } diff -ur linux-1.1.51/kernel/sched.c linux/kernel/sched.c --- linux-1.1.51/kernel/sched.c Sat Sep 24 18:42:13 1994 +++ linux/kernel/sched.c Sat Sep 24 23:38:37 1994 @@ -765,7 +765,7 @@ unsigned long free; static char * stat_nam[] = { "R", "S", "D", "Z", "T", "W" }; - printk("%-8s %3d ", p->comm, (p == current) ? -nr : nr); + printk("%-13s %3d ", p->comm, (p == current) ? -nr : nr); if (((unsigned) p->state) < sizeof(stat_nam)/sizeof(char *)) printk(stat_nam[p->state]); else @@ -788,8 +788,12 @@ else printk(" "); if (p->p_osptr) - printk(" %5d\n", p->p_osptr->pid); + printk(" %5d ", p->p_osptr->pid); else + printk(" "); + if(p->state == 2) + printk("%p\n", p->ak_wait); + else printk("\n"); } @@ -797,8 +801,8 @@ { int i; - printk(" free sibling\n"); - printk(" task PC stack pid father child younger older\n"); + printk(" free sibling wait queue\n"); + printk(" task PC stack pid father child younger older\n"); for (i=0 ; i