libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] Updated fast trace patch with initial performance


From: Arun Sharma
Subject: Re: [Libunwind-devel] Updated fast trace patch with initial performance results
Date: Tue, 5 Apr 2011 11:57:13 -0700

On Tue, Apr 5, 2011 at 8:29 AM, Lassi Tuura <address@hidden> wrote:
>
> As far as I can tell GLIBC implementation is basically just an object on 
> stack, destroyed if stack is unwound. I guess thread cancellation or exit 
> does the latter automatically.

You're right. It doesn't work. We really need a atexit() type API for
cleaning up on thread exit.

This is generally done by having all pthread_create() calls go through
your own wrapper.

MyThreadCreate()
{
  // Thread create hooks
  user_specified_func();
  // Thread exit hooks
}

CreateThread()
{
  pthread_create(... MyThreadCreate, ..);
}

But libunwind being a library, has no control over how threads are
created. One possibility is to just provide the hooks that people who
do have control over their thread creation can call and document it.

 -Arun



reply via email to

[Prev in Thread] Current Thread [Next in Thread]