Messages in this thread | | | Date | Fri, 3 Feb 2012 17:51:32 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH] ptrace: add ability to get clear_tid_address |
| |
On 02/03, Pavel Emelyanov wrote: > > On 02/03/2012 08:25 PM, Tejun Heo wrote: > > On Fri, Feb 03, 2012 at 02:11:23PM +0300, Andrew Vagin wrote: > >> Zero is written at clear_tid_address, when the process exits. > >> This functionality is used by pthread_join(). > >> > >> sys_set_tid_address() changes this address for current task. > >> > >> Before this patch clear_tid_address could not be got from user space. > >> I want to dump a full state of a task, so I need this address. > >> Also I think it may be useful for debugging a multithreading program. > >> > >> I am not sure that ptrace is suitable place. It may be added in prctl, > >> but I think it's a bit useless and strange. I can't image a real > >> situation (avoid checkpointing) when a thread will want to get own > >> clear_tid_address from itself, this address is used by parent ussually. > >> > >> Signed-off-by: Andrew Vagin <avagin@openvz.org> > > > > Ummm... this really doesn't fit in ptrace. Cyrill, why not put it > > together with other params you're exporting? > > Because there's no need for current to get this value of himself, but can > be useful for e.g. gdb.
OK, perhaps this makes sense, I do not know.
Jan, Pedro, do you think gdb can use PTRACE_GET_TID_ADDRESS (returns tracee->clear_child_tid) ?
Oleg.
| |