12

I am using pthreads on Linux. From the documentation, it is not clear to me when it is safe to call pthread_attr_destroy on the attributes I use to create a new thread? Can I do it immediately after pthread_create returns or do I have to wait until the thread is joined or detached?

Thanks in advance, Christoph

Christoph
  • 1,964
  • 2
  • 27
  • 44

1 Answers1

18

The thread attribute is copied in pthread_create, so it should be destroyed after pthread_create call.

Requires reading between lines here http://pubs.opengroup.org/onlinepubs/009695399/functions/pthread_create.html:

If the attributes specified by attr are modified later, the thread's attributes shall not be affected.

Maxim Egorushkin
  • 131,725
  • 17
  • 180
  • 271