Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
#include <sys/lwp.h> int _lwp_suspend(lwpid_t target_lwp);
int _lwp_continue(lwpid_t target_lwp);
The _lwp_suspend() function immediately suspends the execution of the LWP specified by target_lwp. On successful return from _lwp_suspend(), target_lwp is no longer executing. Once a thread is suspended, subsequent calls to _lwp_suspend() have no affect.
The _lwp_continue() function resumes the execution of a suspended LWP. Once a suspended LWP is continued, subsequent calls to _lwp_continue() have no effect.
A suspended LWP will not be awakened by a signal. The signal stays pending until the execution of the LWP is resumed by _lwp_continue().
Upon successful completion, 0 is returned. A non-zero value indicates an error.
If the following condition occurs, _lwp_suspend() and _lwp_continue() fail and return the corresponding value:
ESRCH
The target_lwpid argument cannot be found in the current process.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
MT-Level | Async-Signal-Safe |
attributes(5)