PTHREAD_SUSPEND_NP(3)

NAME
pthread_suspend_np, pthread_suspend_all_np, pthread_resume_np, pthread_resume_all_np - suspend and resume thread(s)

SYNOPSIS
#include <pthread.h>
#include <pthread_np.h>
int
pthread_suspend_np(pthread_t thread);
void
pthread_suspend_all_np(void);
int
pthread_resume_np(pthread_t thread);
void
pthread_resume_all_np(void);

DESCRIPTION
The pthread_suspend_np() function interrupts the given thread and places it in a suspended state.

The pthread_suspend_all_np() function interrupts all threads except the current thread and places them in a suspended state.

The pthread_resume_np() function resumes a thread suspended with pthread_suspend_np() or pthread_suspend_all_np().

The pthread_resume_all_np() function resumes all threads suspended with pthread_suspend_np() or pthread_suspend_all_np().

The pthread_resume_np() and pthread_resume_all_np() functions have no effect on threads that have not been suspended.

Suspending and resuming a thread has an effect similar to that of receiving a signal, namely that resumed system calls will return an error value of EINTR.

RETURN VALUES
The pthread_suspend_np() and pthread_resume_np() functions fail if:

[ESRCH]
    No thread could be found corresponding to that specified by the given thread ID.

The pthread_suspend_np() function fails if:

[EDEADLK]
    Attempt to suspend the current thread.

SEE ALSO
pthread_cancel(3), pthreads(3)

STANDARDS
The pthread_suspend_np(), pthread_suspend_all_np(), pthread_resume_np() and pthread_resume_all_np() functions are non-portable and may not be supported with the above semantics on other POSIX systems.