I sent this message before but I dont think it reached the list.
I am trying to make the debugger work on Solaris.
The wineserver and debugger currently co-operate using ptrace to debug a client app, but on solaris the debugger deadlocks. It was previously thought that this was due to the threading model on Solaris which is different. (Different threads don't have different pids). The ptrace manual says that a client must call ptrace(PTRACE_TRACEME...) before it can be debugged but grepping the Wine source can find no useful references to TRACEME.
Without calling ptrace (TRACEME,...) Solaris returns ESRCH even though the process exists which causes the wineserver to assume the process is defunct and delete the app, apparently causing the deadlock (This deadlock will have to be fixed too !).
Can anyone enlighten me as to what gotchas there are in fixing this since I don't know much about Linux behaviour (Though the linux ptrace mentions PTRACE_TRACEME too but apparently doesn't enforce it !)
Bob
Robert Lunnon bobNoSpaM@yarrabee.net.au writes:
Without calling ptrace (TRACEME,...) Solaris returns ESRCH even though the process exists which causes the wineserver to assume the process is defunct and delete the app, apparently causing the deadlock (This deadlock will have to be fixed too !).
Are you sure this is not rather an issue of process id vs. thread id? I would be surprised if Solaris required TRACEME in this case, since this would mean you couldn't attach a debugger to a running process.
On Fri, 4 Jan 2002 10:49, Alexandre Julliard wrote:
Robert Lunnon bobNoSpaM@yarrabee.net.au writes:
Without calling ptrace (TRACEME,...) Solaris returns ESRCH even though the process exists which causes the wineserver to assume the process is defunct and delete the app, apparently causing the deadlock (This deadlock will have to be fixed too !).
Are you sure this is not rather an issue of process id vs. thread id? I would be surprised if Solaris required TRACEME in this case, since this would mean you couldn't attach a debugger to a running process.