PTHREAD_CLEANUP_PUSH(3) | Library Functions Manual | PTHREAD_CLEANUP_PUSH(3)

# NAME

`pthread_cleanup_push` — add a cleanup function for thread exit

# SYNOPSIS

POSIX Threads Library (libpthread, -lpthread)
`#include <pthread.h>`

void
`pthread_cleanup_push`(void (*cleanup_routine)(void *), void *arg);

# DESCRIPTION

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.

# RETURN VALUES

`pthread_cleanup_push`() does not return any value.

# ERRORS

None

# SEE ALSO

pthread_cleanup_pop(3), pthread_exit(3)

# STANDARDS

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

June 7, 2025 | Debian