PTHREAD_SUSPEND_NP(3) BSD Programmer's Manual PTHREAD_SUSPEND_NP(3)
pthread_suspend_np, pthread_suspend_all_np, pthread_resume_np, pthread_resume_all_np - suspend and resume thread(s)
#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);
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 ef- fect on threads that have not been suspended. Suspending and resuming a thread has an effect similar to that of receiv- ing a signal, namely that resumed system calls will return an error value of EINTR.
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.
pthread_cancel(3), pthreads(3)
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. MirBSD #10-current March 21, 1999 1