Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Apropos / Subsearch:
optional field

makecontext(2)						       makecontext(2)


  makecontext, swapcontext - Manipulate	user level context switching


  #include  <&lt;ucontext.h>&gt;

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

  int swapcontext(
	  ucontext_t *oucp,
	  const	ucontext_t *ucp	);


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

  makecontext(), swapcontext():	 XSH5.0

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


  ucp Provides a pointer to a ucontext structure, defined in the <&lt;ucontext.h>&gt;
      header file.  The	ucontext structure contains the	signal mask, execu-
      tion stack, and machine registers. (See ucontext(5) for more informa-
      tion 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 struc-


  The makecontext() function modifies the context specified by the ucp param-
  eter.	 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() func-
  tion.	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 execu-
  tion to the context described	by the ucp parameter.  When the	new context
  finishes execution, control returns to the context described by the oucp


  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


  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.


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

  Files:  ucontext(5)

  Standards:  standards(5)