THREAD_SUSPEND(3T) SysV THREAD_SUSPEND(3T)
NAME
thread_suspend - increment a thread's suspend count
SYNOPSIS
include <apollo/thread.h>
kern_return_t thread_suspend(target_thread)
thread_t target_thread;
DESCRIPTION
The thread_suspend call increments the thread's suspend count. While the
count is non-zero, the thread is suspended. Note that the target thread
must be enabled (inhibit count is 0) before it is suspended.
The target_thread argument specifies the thread to be suspended.
Data Structures
The data structures are defined as follows:
thread_t
The basic thread id. This is a black box value that is not
significant outside the thread system. It is guaranteed that no two
active threads on a node will have the same thread id.
kern_return_t
An enumeration of the possible values a system call can return. It
indicates the success or failure of the call. It will either be
[KERN_SUCCESS] to indicate that the call succeeded, or some other
value to describe the reason for the failure.
DIAGNOSTICS
Upon successful completion, the suspend request is queued and
thread_suspend returns [KERN_SUCCESS]; otherwise, errno is set to
indicate the error.
ERRORS
This function fails if:
[KERN_INVALID_ARGUMENT]
The thread id passed in is not valid.
[KERN_PROTECTION_FAILURE]
The process this thread is in does not have sufficient rights
to suspend the target thread.
SEE ALSO
thread_create(3T), thread_terminate(3T), thread_resume(3T),
thread_abort(3T), thread_self(3T), thread_info(3T), thread_state(3T),
thread_set_priority(3T), thread_handle_signals(3T), thread_inhibit(3T),
thread_cleanup(3T), thread_startup(3T), threadp_init(3T),
threadp_set(3T), threadp_get(3T)
Section (3P) pthread calls (IEEE P1003.4a) calls
Domain System Software Release Notes, Software Release 10.4
NOTES
This call is part of the low level Domain/OS Pthread interface. Most of
these calls come directly from the Mach thread interface. Except as
noted, they work exactly like the equivalent Mach call; they work between
processes (the thread id is unique for a node) if the calling process has
the appropriate rights relative to the target process.
This call is provided solely for compatibility with the Mach operating
system. New applications should use the Pthread interface instead.