Implement getcontext, setcontext, makecontext, swapcontext
* common.din (getcontext): Export. (makecontext): Export. (setcontext): Export. (swapcontext): Export. * exceptions.cc (__unwind_single_frame): New static functions, 64 bit only. (setcontext): New function. (getcontext): New function. (swapcontext): New function. (__cont_link_context): New function. (makecontext): New function. * include/cygwin/version.h (CYGWIN_VERSION_DLL_MAJOR): Bump to 2002. (CYGWIN_VERSION_API_MINOR): Bump. * include/ucontext.h (getcontext): Add prototype. (setcontext): Ditto. (swapcontext): Ditto. (makecontext): Ditto. * ntdll.h (NtContinue): Ditto. * new-features.xml (ov-new2.2): Add new section. Document getcontext, setcontext, makecontext, swapcontext. * posix.xml (std-deprec): Add getcontext, setcontext, makecontext, swapcontext. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
@@ -42,7 +42,7 @@ details. */
|
||||
the Cygwin shared library". This version is used to track important
|
||||
changes to the DLL and is mainly informative in nature. */
|
||||
|
||||
#define CYGWIN_VERSION_DLL_MAJOR 2001
|
||||
#define CYGWIN_VERSION_DLL_MAJOR 2002
|
||||
#define CYGWIN_VERSION_DLL_MINOR 0
|
||||
|
||||
/* Major numbers before CYGWIN_VERSION_DLL_EPOCH are
|
||||
@@ -469,13 +469,14 @@ details. */
|
||||
285: Export wcstold.
|
||||
286: Export cabsl, cimagl, creall, finitel, hypotl, sqrtl.
|
||||
287: Export issetugid.
|
||||
288: Export getcontext, makecontext, setcontext, swapcontext.
|
||||
*/
|
||||
|
||||
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull,
|
||||
sigaltstack, sethostname. */
|
||||
|
||||
#define CYGWIN_VERSION_API_MAJOR 0
|
||||
#define CYGWIN_VERSION_API_MINOR 287
|
||||
#define CYGWIN_VERSION_API_MINOR 288
|
||||
|
||||
/* There is also a compatibity version number associated with the
|
||||
shared memory regions. It is incremented when incompatible
|
||||
|
@@ -11,6 +11,18 @@ details. */
|
||||
#ifndef _UCONTEXT_H
|
||||
#define _UCONTEXT_H
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
#include <sys/ucontext.h>
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
extern int getcontext (ucontext_t *) __attribute__((__nonnull__));
|
||||
extern int setcontext (const ucontext_t *) __attribute__((__nonnull__));
|
||||
extern int swapcontext (ucontext_t *, const ucontext_t *)
|
||||
__attribute__((__nonnull__));
|
||||
extern void makecontext (ucontext_t *, void (*) (void), int, ...)
|
||||
__attribute__((__nonnull__ (1)));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* _UCONTEXT_H */
|
||||
|
Reference in New Issue
Block a user