On Saturday 11 June 2005 19:46, David Laight wrote:
On Sat, Jun 11, 2005 at 09:17:09AM +1000, Robert Lunnon wrote:
I need some help to implement the debugger under Solaris. In particular I need help with how ptrace interacts with the threading model under Linux which I understand uses processes for threads. Since Solaris has user mode threads, stopping a pid stops all the threads in the debugee which used to deadlock the debugger. This suggests I need to operate on threads within processes rather than the processes themselves. This is possible with a few IPC tricks, but I need to understand the semantics
I think you will find that solaris uses kernel LWPs for threads. If you give ps the correct incantation it wil show them.
David
My Solaris implementation (which is the only one out there at the moment) uses bound threads, the lwp implementation no longer works. It doesn't matter really, the lwps share a common pid whereas under linux, I understand they do not, so ptrace under linux should be able to work on threads where ptrace under Solaris definitely cannot.
Ptrace is going away under solaris anyway, so I will need the debugger code for the future anyway.
Bob