Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ makecontext(3C) — Amiga System V Release 4 Version 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

exit(2)

getcontext(2)

sigaction(2)

sigprocmask(2)

text(5)



makecontext(3C)      COMPATIBILITY FUNCTIONS      makecontext(3C)



NAME
     makecontext, swapcontext - manipulate user contexts

SYNOPSIS
     #include <ucontext.h>

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

     int swapcontext (ucontextt *oucp, ucontextt *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 ucontextt 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.




                          Last change:                          1



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