Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


PTHREAD_SUSPEND_NP(3)      Library Functions Manual      PTHREAD_SUSPEND_NP(3)

NAME
     pthread_suspend_np, pthread_resume_np - suspend/resume the given thread

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #include <pthread.h>

     int
     pthread_suspend_np(pthread_t thread);

     int
     pthread_resume_np(pthread_t thread);

DESCRIPTION
     The pthread_suspend_np() function suspends the thread given as argument.
     If thread is the currently running thread as returned by pthread_self(3),
     the function fails and returns EDEADLK.  Otherwise, it removes the named
     thread from the running queue, and adds it to the suspended queue.  The
     thread will remain blocked until pthread_resume_np() is called on it.  In
     other words, pthread_resume_np() resumes the thread given as argument, if
     it was suspended.

RETURN VALUES
     Both functions return 0 on success and an error number indicating the
     reason for the failure.

COMPATIBILITY
     These functions are non-standard extensions.

ERRORS
     The pthread_suspend_np() function may fail if:

     [EDEADLK]          The thread requested to suspend was the currently
                        running thread.

     [ESRCH]            The supplied thread was invalid.

     The pthread_resume_np() function may fail if:

     [ESRCH]            The supplied thread was invalid.

NOTES
     Some pthread_suspend_np() implementations may allow suspending the
     current thread.  This is dangerous, because the semantics of the function
     would then require the scheduler to schedule another thread, causing a
     thread context switch.  Since that context switch can happen in a signal
     handler by someone calling pthread_suspend_np() in a signal handler, this
     is currently not allowed.

     In pthread_resume_np() the NetBSD implementation does not check if the
     thread argument is not already suspended.  Some implementations might
     return an error condition if pthread_resume_np() is called on a non-
     suspended thread.

SEE ALSO
     pthread_attr_setcreatesuspend_np(3), pthread_self(3)

NetBSD 10.99                     July 9, 2010                     NetBSD 10.99