Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exit(2)

getcontext(2)

sigaction(2)

sigprocmask(2)

text(5)



MAKECONTEXT(3C-SVR4)RISC/os Reference Manual MAKECONTEXT(3C-SVR4)



NAME
     makecontext, swapcontext - manipulate user contexts

SYNOPSIS
     #include <ucontext.h>

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

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

DESCRIPTION
     These functions are useful for implementing user-level con-
     text switching between multiple threads of control within a
     process.

     makecontext modifies the context specified by ucp, which has
     been initialized using getcontext; when this context is
     resumed using swapcontext or setcontext [see getcontext(2)],
     program execution continues by calling the function func,
     passing it the arguments that follow argc in the makecontext
     call.  The integer value of argc must match the number of
     arguments that follow argc.  Otherwise the behavior is unde-
     fined.

     swapcontext saves the current context in the context struc-
     ture pointed to by oucp and sets the context to the context
     structure pointed to by ucp.

     These functions will fail if either of the following is
     true:

     ENOMEM         ucp does not have enough stack left to com-
                    plete the operation.

     EFAULT         ucp or oucp points to an invalid address.

SEE ALSO
     exit(2), getcontext(2), sigaction(2), sigprocmask(2), ucon-
     text(5).

DIAGNOSTICS
     On successful completion, swapcontext return a value of
     zero.  Otherwise, a value of -1 is returned and errno is set
     to indicate the error.

NOTES
     The size of the ucontext_t structure may change in future
     releases.  To remain binary compatible, users of these
     features must always use makecontext or getcontext to create
     new instances of them.




                        Printed 11/19/92                   Page 1



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