lkml.org 
[lkml]   [2004]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: INIT hangs with tonight BK pull (2.6.9-rc1+)
> After doing BK pull last night INIT gets stuck in do_tty_hangup after
> executing rc.sysinit. Was booting fine with pull from 2 days ago...
>
> Anyone else seeing this?
>
> I suspect pidhash patch because it touched tty_io.c, but I have not tried
> reverting it as it is getting too late here... So I apologize in advance
> if I am pointing finger at the innocent ;)

Oops, you are right. These do_each_task_pid()/while_each_task_pid() do
loop 4ever with 'continue' inside.
Strange, that I haven't faced the problem on my machine before sending
the patch... :(

Sorry for the inconvinience. Patch is inside.

Kirill
--- ./include/linux/pid.h.pid2 2004-09-03 11:52:27.510664040 +0400
+++ ./include/linux/pid.h 2004-09-03 11:40:33.616192496 +0400
@@ -46,10 +46,10 @@ extern void switch_exec_pids(struct task
do {

#define while_each_task_pid(who, type, task) \
- task = pid_task((task)->pids[type].pid_list.next,\
- type); \
- prefetch((task)->pids[type].pid_list.next); \
- } while (hlist_unhashed(&(task)->pids[type].pid_chain));\
+ } while (task = pid_task((task)->pids[type].pid_list.next,\
+ type), \
+ prefetch((task)->pids[type].pid_list.next), \
+ hlist_unhashed(&(task)->pids[type].pid_chain)); \
} \

#endif /* _LINUX_PID_H */
\
 
 \ /
  Last update: 2005-03-22 14:05    [W:0.043 / U:1.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site