OpenBSD-4.6/lib/libpthread/man/pthread_suspend_np.3

Compare this file to the similar file:
Show the results in this format:

.\" $OpenBSD: pthread_suspend_np.3,v 1.4 2007/05/31 19:19:37 jmc Exp $
.\" David Leonard <d@openbsd.org>, 1999. Public domain.
.Dd $Mdocdate: May 31 2007 $
.Dt PTHREAD_SUSPEND_NP 3
.Os
.Sh NAME
.Nm pthread_suspend_np ,
.Nm pthread_suspend_all_np ,
.Nm pthread_resume_np ,
.Nm pthread_resume_all_np
.Nd suspend and resume thread(s)
.Sh SYNOPSIS
.Fd #include <pthread.h>
.Fd #include <pthread_np.h>
.Ft int
.Fn pthread_suspend_np "pthread_t thread"
.Ft void
.Fn pthread_suspend_all_np void
.Ft int
.Fn pthread_resume_np "pthread_t thread"
.Ft void
.Fn pthread_resume_all_np void
.Sh DESCRIPTION
The
.Fn pthread_suspend_np
function interrupts the given thread and places it in a suspended state.
.Pp
The
.Fn pthread_suspend_all_np
function interrupts all threads except the current thread and places them in a suspended state.
.Pp
The
.Fn pthread_resume_np
function resumes a thread suspended with
.Fn pthread_suspend_np
or
.Fn pthread_suspend_all_np .
.Pp
The
.Fn pthread_resume_all_np
function resumes all threads suspended with
.Fn pthread_suspend_np
or
.Fn pthread_suspend_all_np .
.Pp
The
.Fn pthread_resume_np
and
.Fn pthread_resume_all_np
functions have no effect on threads that have not been suspended.
.Pp
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
.Er EINTR .
.Sh RETURN VALUES
The
.Fn pthread_suspend_np
and
.Fn pthread_resume_np
functions fail if:
.Bl -tag -width Er
.It Bq Er ESRCH
No thread could be found corresponding to that specified by the given
thread ID.
.El
.Pp
The
.Fn pthread_suspend_np
function fails if:
.Bl -tag -width Er
.It Bq Er EDEADLK
Attempt to suspend the current thread.
.El
.Sh SEE ALSO
.Xr pthread_cancel 3 ,
.Xr pthreads 3
.Sh STANDARDS
The
.Fn pthread_suspend_np ,
.Fn pthread_suspend_all_np ,
.Fn pthread_resume_np
and
.Fn pthread_resume_all_np
functions are non-portable and may not be supported with the above
semantics on other POSIX systems.