getcontext man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

GETCONTEXT(P)		   POSIX Programmer's Manual		 GETCONTEXT(P)

NAME
       getcontext, setcontext - get and set current user context

SYNOPSIS
       #include <ucontext.h>

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

DESCRIPTION
       The  getcontext() function shall initialize the structure pointed to by
       ucp to the current user context of the calling thread.  The  ucontext_t
       type  that ucp points to defines the user context and includes the con‐
       tents of the calling thread's machine registers, the signal  mask,  and
       the current execution stack.

       The  setcontext() function shall restore the user context pointed to by
       ucp. A successful call to setcontext() shall not return; program execu‐
       tion  resumes at the point specified by the ucp argument passed to set‐
       context(). The ucp argument should be created either by a prior call to
       getcontext()  or	 makecontext(), or by being passed as an argument to a
       signal handler. If the ucp argument was created with getcontext(), pro‐
       gram  execution	continues as if the corresponding call of getcontext()
       had just returned. If the ucp argument was created with	makecontext(),
       program	execution continues with the function passed to makecontext().
       When that function returns, the thread shall continue  as  if  after  a
       call  to	 setcontext() with the ucp argument that was input to makecon‐
       text(). If the uc_link member of the ucontext_t structure pointed to by
       the  ucp argument is equal to 0, then this context is the main context,
       and the thread shall exit when this context  returns.  The  effects  of
       passing a ucp argument obtained from any other source are unspecified.

RETURN VALUE
       Upon  successful	 completion, setcontext() shall not return and getcon‐
       text() shall return 0; otherwise, a value of -1 shall be returned.

ERRORS
       No errors are defined.

       The following sections are informative.

EXAMPLES
       Refer to makecontext() .

APPLICATION USAGE
       When a signal handler is executed, the current user  context  is	 saved
       and  a  new context is created. If the thread leaves the signal handler
       via longjmp(), then it is unspecified whether the context at  the  time
       of  the corresponding setjmp() call is restored and thus whether future
       calls to getcontext() provide an accurate representation of the current
       context,	 since	the context restored by longjmp() does not necessarily
       contain all the information that setcontext() requires. Signal handlers
       should use siglongjmp() or setcontext() instead.

       Conforming  applications	 should	 not  modify or access the uc_mcontext
       member of ucontext_t. A conforming application cannot assume that  con‐
       text  includes  any process-wide static data, possibly including errno.
       Users manipulating contexts should take care to handle these explicitly
       when required.

       Use  of contexts to create alternate stacks is not defined by this vol‐
       ume of IEEE Std 1003.1-2001.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       bsd_signal() , makecontext() , setcontext() , setjmp() , sigaction()  ,
       sigaltstack()  ,	 siglongjmp() , sigprocmask() , sigsetjmp() , the Base
       Definitions volume of IEEE Std 1003.1-2001, <ucontext.h>

COPYRIGHT
       Portions of this text are reprinted and reproduced in  electronic  form
       from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
       -- Portable Operating System Interface (POSIX),	The  Open  Group  Base
       Specifications  Issue  6,  Copyright  (C) 2001-2003 by the Institute of
       Electrical and Electronics Engineers, Inc and The Open  Group.  In  the
       event of any discrepancy between this version and the original IEEE and
       The Open Group Standard, the original IEEE and The Open Group  Standard
       is  the	referee document. The original Standard can be obtained online
       at http://www.opengroup.org/unix/online.html .

IEEE/The Open Group		     2003			 GETCONTEXT(P)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net