Messages in this thread | | | Date | Thu, 23 Apr 1998 11:25:17 +0200 (CEST) | From | Daniel Ryde <> | Subject | 2.0.3[0,1,2,3,pre4] black hangs. |
| |
I have reported earlier about these solid hangs in free_wait. So I've made a q'n dirty patch that I'm currently testing where I have a iteration limit inside the for() loop in __remove_wait_queue() inline function:
In include/linux/sched.h: extern inline void __remove_wait_queue(struct wait_queue ** p, struct wait_queue * wait) { struct wait_queue * next = wait->next; struct wait_queue * head = next; int bout;
for (bout=1000000; bout; bout--) { struct wait_queue * nextlist = head->next; if (nextlist == wait) break; head = nextlist; } head->next = next; }
This is not good, I know, but can it brake things seriously? I was hoping to get some gpf instead of a cli'ed infinite loop. And if the machine continued to run normal after that then it would be superior.
Comments?
/D.Ryde
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu
| |