Index Click this button to go to the index for this section.


pid_block(2)

NAME

pid_block, pid_unblock - stops (blocks) or resumes (unblocks) the specified process

LIBRARY

Standard C Library (libc.a)

SYNOPSIS

#include <types.h> #include <sys/time.h> int pid_block (struct timeval *tp, long flags); int pid_unblock (pid_t pid long flags);

PARAMETERS

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. flags Specifies flags that can be passed to the pid_block() and pid_unblock() functions. Note Currently, the only valid value for flags is NULL.

DESCRIPTION

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.

NOTES

The pid_block and pid_unblock functions are not portable. The behavior of these functions when called from a multithreaded application is nondeterministic.

RETURN VALUES

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: [EFAULT] The pid parameter specified an invalid address. [EINVAL] 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. [EPERM] 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 privilege. [EINTR] A signal interrupted the suspended process. [ETIME] System call timed out.

FILES

/usr/include/sys/time.h /usr/include/types.h