_lwp_ctl(2) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
_LWP_CTL(2)               NetBSD System Calls Manual               _LWP_CTL(2)


NAME
_lwp_ctl -- prepare per-LWP communication area between kernel and user- land
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <sys/lwpctl.h> #include <lwp.h> int _lwp_ctl(int features, struct lwpctl **address);
DESCRIPTION
_lwp_ctl() prepares per-LWP communication area for the calling LWP, and maps it into the calling process' address space. It takes the following arguments. features The bitwise-OR of the following flags. LWPCTL_FEATURE_CURCPU Request lc_curcpu. LWPCTL_FEATURE_PCTR Request lc_pctr. address The address to store a pointer to lwpctl structure for the calling LWP. The per-LWP communication area is described by an lwpctl structure. It has following members, depending on features. int lc_curcpu The integral identifier of the CPU on which the LWP is run- ning, or LWPCTL_CPU_NONE when the LWP is not running on any CPU. It's updated by the kernel and should be considered as read-only for userland. It's available only if requested with the LWPCTL_FEATURE_CURCPU flag. int lc_pctr The integer which is incremented on every context switches to the LWP. It can be used to detect preemption of the LWP (thus its name ``preemption counter''.) It's updated by the kernel and should be considered as read-only for user- land. It's available only if requested with the LWPCTL_FEATURE_PCTR flag.
RETURN VALUES
The _lwp_ctl() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.
SEE ALSO
errno(2) NetBSD 10.99 April 13, 2012 NetBSD 10.99
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.