Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

sigaction(2)

sigaltstack(2)

sigprocmask(2)

makecontext(3C)

ucontext(5)



GETCONTEXT(2-SVR4)  RISC/os Reference Manual   GETCONTEXT(2-SVR4)



NAME
     getcontext, setcontext - get and set current user context

SYNOPSIS
     #include <ucontext.h>

     int getcontext(ucontext_t *ucp);
     int setcontext(ucontext_t *ucp);

DESCRIPTION
     These functions, along with those defined in
     makecontext(3C), are useful for implementing user level con-
     text switching between multiple threads of control within a
     process.

     getcontext initializes the structure pointed to by ucp to
     the current user context of the calling process.  The user
     context is defined by ucontext(5) and includes the contents
     of the calling process's machine registers, signal mask and
     execution stack.

     setcontext restores the user context pointed to by ucp.  The
     call to setcontext does not return;  program execution
     resumes at the point specified by the context structure
     passed to setcontext.  The context structure should have
     been one created either by a prior call to getcontext or
     makecontext or passed as the third argument to a signal
     handler [see sigaction(2)].  If the context structure was
     one created with getcontext, program execution continues as
     if the corresponding call of getcontext had just returned.
     If the context structure was one created with makecontext,
     program execution continues with the function specified to
     makecontext.

NOTES
     When a signal handler is executed, the current user context
     is saved and a new context is created by the kernel.  If the
     process leaves the signal handler via longjmp(3C) the origi-
     nal context will not be restored, and future calls to
     getcontext will not be reliable.  Signal handlers should use
     siglongjmp(3C) or setcontext instead.

     getcontext and setcontext will fail if the following is
     true:

     EFAULT         ucp points to an invalid address.

DIAGNOSTICS
     On successful completion, setcontext does not return and
     getcontext returns 0.  Otherwise, a value of -1 is returned
     and errno is set to indicate the error.




                        Printed 11/19/92                   Page 1





GETCONTEXT(2-SVR4)  RISC/os Reference Manual   GETCONTEXT(2-SVR4)



SEE ALSO
     sigaction(2), sigaltstack(2), sigprocmask(2),
     makecontext(3C), ucontext(5).




















































 Page 2                 Printed 11/19/92



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026