-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Acked-by: David Goulet <[email protected]>
On 10-10-25 06:59 AM, Nils Carlson wrote: > This little patch checks to see whether we have used a fork > wrapper to fork. If not we won't have a working UST in the process > and can skip the destructor stage. > > Signed-off-by: Nils Carlson <[email protected]> > --- > libust/tracectl.c | 14 ++++++++++++++ > 1 files changed, 14 insertions(+), 0 deletions(-) > > diff --git a/libust/tracectl.c b/libust/tracectl.c > index 3d09cc2..5f942cd 100644 > --- a/libust/tracectl.c > +++ b/libust/tracectl.c > @@ -50,6 +50,12 @@ > */ > s64 pidunique = -1LL; > > +/* The process pid is used to detect a non-traceable fork > + * and allow the non-traceable fork to be ignored > + * by destructor sequences in libust > + */ > +static pid_t processpid = 0; > + > static struct ustcomm_header _receive_header; > static struct ustcomm_header *receive_header = &_receive_header; > static char receive_buffer[USTCOMM_BUFFER_SIZE]; > @@ -1201,6 +1207,7 @@ static void __attribute__((constructor)) init() > * pid, (before and after an exec). > */ > pidunique = make_pidunique(); > + processpid = getpid(); > > DBG("Tracectl constructor"); > > @@ -1466,6 +1473,10 @@ static void stop_listener(void) > > static void __attribute__((destructor)) keepalive() > { > + if (processpid != getpid()) { > + return; > + } > + > if (trace_recording() && LOAD_SHARED(buffers_to_export)) { > int total = 0; > DBG("Keeping process alive for consumer daemon..."); > @@ -1516,6 +1527,9 @@ static void ust_fork(void) > /* FIXME: technically, the locks could have been taken before the fork > */ > DBG("ust: forking"); > > + /* Get the pid of the new process */ > + processpid = getpid(); > + > /* break lock if necessary */ > ltt_unlock_traces(); > - -- David Goulet LTTng project, DORSAL Lab. 1024D/16BD8563 BE3C 672B 9331 9796 291A 14C6 4AF7 C14B 16BD 8563 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (GNU/Linux) iEYEARECAAYFAkzGx6MACgkQSvfBSxa9hWO5wACfdopsgfbBPja3hYy+1yPX33+y H6sAoN0mmOXAYZOfE3/74n1wOjMCBtip =JPaI -----END PGP SIGNATURE----- _______________________________________________ ltt-dev mailing list [email protected] http://lists.casi.polymtl.ca/cgi-bin/mailman/listinfo/ltt-dev
