|
From: Jeremy F. <je...@go...> - 2005-03-28 08:41:19
|
Nicholas Nethercote wrote:
> Hmm, I didn't really follow that... I'm not clear on what
> functions/bits of memory are from the client, what are from the
> pthreads implementation, and what are in Valgrind/pthreadmodel.
before_pthread_create() allocates an instance of
vg_pthread_newthread_data; this function is run as part of the core. The
pointer to this instance ends up being passed to the real
pthread_create, and is used then freed in
vg_intercept.c:VG_WRAPPER(pthread_startfunc_wrapper)(), which is run as
part of the client code.
> Where would the USERREQ_FREE requrest be embedded in the client?
> Would every client have to have such a request in it?
No client directly calls USERREQ_FREE. Any client which calls
pthread_create ends up calling it via code in vg_inject.so (compiled
from vg_intercept.c).
J
|