diff options
author | Christopher Faylor <me@cgf.cx> | 2000-08-03 07:02:41 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-08-03 07:02:41 +0400 |
commit | 47026c0785a0cd86c05f8255cc34a85c1cf9eced (patch) | |
tree | 10e33e0b681991d98061e7929aed7353f3d20cd5 /winsup/cygwin/winsup.h | |
parent | 6a2ef321050062b76e8e11b4cade15c1feba54fa (diff) |
* fork.cc (vfork): Store complete stack frame in vfork_save structure for later
recovery.
* spawn.cc (spawn_guts): Reorganize slightly to consolidate handling when there
is a CreateProcess error.
(_spawnve): Only longjmp back to vfork handling when a process has been
successfuly started.
* winsup.h (vfork_save): Extend to include frame info. Remove obsolete cpplus
conditionals.
Diffstat (limited to 'winsup/cygwin/winsup.h')
-rw-r--r-- | winsup/cygwin/winsup.h | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/winsup/cygwin/winsup.h b/winsup/cygwin/winsup.h index 9a92df214..ff684628e 100644 --- a/winsup/cygwin/winsup.h +++ b/winsup/cygwin/winsup.h @@ -224,9 +224,9 @@ struct vfork_save { int pid; jmp_buf j; + DWORD frame[100]; char **vfork_ebp; - char *caller_ebp; - char *retaddr; + char **vfork_esp; int is_active () { return pid < 0; } }; @@ -460,9 +460,6 @@ extern void (*__DTOR_LIST__) (void); /* Initial and increment values for cygwin's fd table */ #define NOFILE_INCR 32 -#ifdef __cplusplus -extern "C" { -#endif #include <sys/reent.h> #define STD_RBITS (S_IRUSR | S_IRGRP | S_IROTH) @@ -472,10 +469,6 @@ extern "C" { #define O_NOSYMLINK 0x080000 #define O_DIROPEN 0x100000 -#ifdef __cplusplus -} -#endif - /*************************** Environment ******************************/ /* The structure below is used to control conversion to/from posix-style |