Re: PTRACE_ATTACH breaks wait4()

2001-06-08 Thread David Howells
I have an idea for getting around this problem, but it's only half implemented at the moment (I use it for implementing a Wine server in the kernel). It involves having a list things called task ornaments attached to each process. Each ornament has a table of event notification methods (so it can

Re: PTRACE_ATTACH breaks wait4()

2001-06-08 Thread Mike Coleman
Pavel Kankovsky <[EMAIL PROTECTED]> writes: > Let A be a process and B its child. When another process, let's call > it C, does ptrace(PTRACE_ATTACH) on B, wait4(pid of B, ...) will always > return ECHILD when invoked from A after B has been attached to C because > wait4() does not take children

Re: PTRACE_ATTACH breaks wait4()

2001-06-08 Thread Mike Coleman
Pavel Kankovsky [EMAIL PROTECTED] writes: Let A be a process and B its child. When another process, let's call it C, does ptrace(PTRACE_ATTACH) on B, wait4(pid of B, ...) will always return ECHILD when invoked from A after B has been attached to C because wait4() does not take children traced

Re: PTRACE_ATTACH breaks wait4()

2001-06-08 Thread David Howells
I have an idea for getting around this problem, but it's only half implemented at the moment (I use it for implementing a Wine server in the kernel). It involves having a list things called task ornaments attached to each process. Each ornament has a table of event notification methods (so it can

PTRACE_ATTACH breaks wait4()

2001-06-07 Thread Pavel Kankovsky
Let A be a process and B its child. When another process, let's call it C, does ptrace(PTRACE_ATTACH) on B, wait4(pid of B, ...) will always return ECHILD when invoked from A after B has been attached to C because wait4() does not take children traced by other processes into account. The problem

PTRACE_ATTACH breaks wait4()

2001-06-07 Thread Pavel Kankovsky
Let A be a process and B its child. When another process, let's call it C, does ptrace(PTRACE_ATTACH) on B, wait4(pid of B, ...) will always return ECHILD when invoked from A after B has been attached to C because wait4() does not take children traced by other processes into account. The problem