Content-type: text/html Man page of makecontext

makecontext

Section: System Calls (2)
Index Return to Main Contents
 

NAME

makecontext, swapcontext - Provides user level context switching  

SYNOPSIS

#include <ucontext.h>

void makecontext( ucontext_t *ucp, void (*func)(), int argc ... ); int swapcontext( ucontext_t *oucp, const ucontext_t *ucp );
 

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

makecontext(), swapcontext():  XPG4-UNIX

Refer to the standards(5) reference page for more information about industry standards and associated tags.
 

PARAMETERS

Provides a pointer to a ucontext structure, defined in the <ucontext.h> header file. The ucontext structure contains the signal mask, execution stack, and machine registers. (See ucontext(5) for more information about the format of the ucontext structure.) Specifies a function to be called when program execution begins in the new context. Specifies the number of parameters passed to the func() function. You include the parameters themselves following the argc parameter. Pointer to the ucontext structure that holds the current context structure.
 

DESCRIPTION

The makecontext() function modifies the context specified by the ucp parameter. Before you call the makecontext() function, call the getcontext() function to initialize the ucp parameter.

Before you call the makecontext() function, you should allocate a stack for the new context. Also, you should initialize the uc_link member of the ucontext structure. This member determines the context that is resumed when the context modified by makecontext() returns. You initialize the uc_link member by calling the getcontext() function.

To execute the new context, call the setcontext() or swapcontext() function. Program execution begins by calling the function specified in the func parameter. Any parameters you specify following the argc parameter are passed to the func() function.

The swapcontext() function switches between two user contexts. The function stores the current context in the oucp parameter. It then switches execution to the context described by the ucp parameter. When the new context finishes execution, control returns to the context described by the oucp parameter.
 

RETURN VALUES

The makecontext() function does not return.

On success, the swapcontext() function returns 0 (zero). On failure the swapcontext() function returns a value of -1 and sets errno to indicate the error.
 

ERRORS

The makecontext() or swapcontext() functions set errno to the specified values for the following conditions: The ucp parameter has too little stack left to complete the operation.
 

SEE ALSO

Functions:  exit(2), getcontext(2), sigaction(2), sigprocmask(2)

Files:  ucontext(5)

Standards:  standards(5)


 

Index

NAME
SYNOPSIS
STANDARDS
PARAMETERS
DESCRIPTION
RETURN VALUES
ERRORS
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:40:18 GMT, October 02, 2010