pid_block, pid_unblock - stops (blocks) or resumes (unblocks) the specified
struct timeval *tp,
long flags );
long flags );
Standard C Library (libc)
tp Specifies the timeout value for the blocked process. If tp is NULL,
the process sleeps until either it receives a signal or it is unblocked
by a pid_unblock.
pid Specifies the process ID of the process to unblock.
Specifies flags that can be passed to the pid_block() and pid_unblock()
Currently, the only valid value for flags is NULL.
The pid_block() function blocks execution of the process until one of the
following conditions occurs:
+ The process is unblocked by the pid_unblock() function.
+ A signal is sent to the process.
+ The optional timeout period expires.
The pid_unblock function forces the specified process, previously suspended
via a call to pid_block, to be made runnable.
Unless you are operating with superuser authority, pid_unblock can affect
only processes that you own. When operating with superuser authority, you
can unblock any process.
The pid_block and pid_unblock functions are not portable. The behavior of
these functions when called from a multithreaded application is nondeter-
Upon successful completion, the pid_block() and pid_unblock() functions
return a value of 0. Otherwise, they return a value of -1 and set errno to
indicate the error:
The pid parameter specified an invalid address.
The tp parameter specified a time that was too large to be handled, or
the pid specified to the pid_unblock function was not found.
The real or saved user ID does not match the real or effective user ID
of the target process or the calling process does not have appropriate
A signal interrupted the suspended process.
System call timed out.