pthread_cleanup_push(3)

pthread_cleanup_push3

Add a cleanup function for thread exit

Usage

#include <pthread.h>

void

pthread_cleanup_push(void *cleanup_routinevoid *, void *arg);

Overview

The pthread_cleanup_push() function adds cleanup_routine to the top of the stack of cleanup handlers that get called when the current thread exits.

When cleanup_routine is called, it is passed arg as its only argument.

The pthread_cleanup_push() function is implemented as a macro that opens a new block. Invocations of this function must appear as standalone statements that are paired with a later call of pthread_cleanup_pop(3) in the same lexical scope.

Return values

The pthread_cleanup_push() function does not return any value.

Errors

None

Releases

149 releases since Mac OS X 10.2; the text changed 3 times.

  1. 10.2–10.4.11
  2. 10.5–10.5.8
  3. 10.6–10.11.6
  4. 10.12–26.5

Standards

The pthread_cleanup_push() function conforms to ISO/IEC 9945-1:1996 (“POSIX.1”).

From libpthread 539.100.4 in macOS 26.5. Parsed by carta from the page's mdoc source.