I would appreciate any donations. Wishlist or send e-mail type donations to maekawa AT daemon-systems.org.

Thank you.

PTHREAD_SUSPEND_NP(3)      Library Functions Manual      PTHREAD_SUSPEND_NP(3)

     pthread_suspend_np, pthread_resume_np - suspend/resume the given thread

     POSIX Threads Library (libpthread, -lpthread)

     #include <pthread.h>

     pthread_suspend_np(pthread_t thread);

     pthread_resume_np(pthread_t thread);

     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.

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

     These functions are non-standard extensions.

     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.

     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.

     pthread_attr_setcreatesuspend_np(3), pthread_self(3)

NetBSD 8.99.34                   July 9, 2010                   NetBSD 8.99.34