logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

unw_getcontext -- get initial machine-state

Author

       David Mosberger-Tang
       Email: dmosberger@gmail.com
       WWW: http://www.nongnu.org/libunwind/.

Programming Library                              16 August 2007                                UNW_GETCONTEXT(3)

Description

       The  unw_getcontext()  routine initializes the context structure pointed to by ucp with the machine-state
       of the call-site. The exact set of registers stored by unw_getcontext()  is  platform-specific,  but,  in
       general,  at  least  all  preserved  (``callee-saved'')  and  all  frame-related  registers,  such as the
       stack-pointer, will be stored.

       This routine is normally implemented as a macro and applications should not attempt to take its address.

Name

       unw_getcontext -- get initial machine-state

Platform-Specific Notes

       On IA-64, unw_context_t has a layout that is compatible with that of ucontext_t and such  structures  can
       be initialized with getcontext() instead of unw_getcontext().  However, the reverse is not true and it is
       not  safe  to  use  structures initialized by unw_getcontext() in places where a structure initialized by
       getcontext() is expected. The reason for this asymmetry is that unw_getcontext() is optimized for maximum
       performance and does not, for example, save the signal mask.

Return Value

       On successful completion, unw_getcontext() returns 0.  Otherwise, a value of -1 is returned.

See Also

libunwind(3), unw_init_local(3)

Synopsis

       #include <libunwind.h>

       int unw_getcontext(unw_context_t *ucp);

Thread And Signal Safety

       unw_getcontext() is thread-safe as well as safe to use from a signal handler.

See Also