- Add support for the ucontext system calls (getcontext, setcontext,
swapcontext, and makecontext). - Fix VM to not erroneously think the stack segment and data segment have collided when a user-space thread invokes brk(). - Add test51 to test ucontext functionality. - Add man pages for ucontext system calls.
This commit is contained in:
@@ -8,7 +8,7 @@ INCS= asynchio.h dir.h file.h ioc_cmos.h ioc_disk.h \
|
||||
mount.h mtio.h param.h ptrace.h queue.h resource.h \
|
||||
select.h sem.h shm.h sigcontext.h signal.h socket.h \
|
||||
soundcard.h statfs.h stat.h svrctl.h timeb.h \
|
||||
time.h times.h types.h uio.h un.h utsname.h video.h vm.h \
|
||||
time.h times.h types.h ucontext.h uio.h un.h utsname.h video.h vm.h \
|
||||
wait.h
|
||||
|
||||
.include <minix.kinc.mk>
|
||||
|
||||
22
include/sys/ucontext.h
Normal file
22
include/sys/ucontext.h
Normal file
@@ -0,0 +1,22 @@
|
||||
#ifndef _SYS_UCONTEXT_H
|
||||
#define _SYS_UCONTEXT_H 1
|
||||
|
||||
#include <signal.h>
|
||||
#include <machine/mcontext.h>
|
||||
|
||||
#define NCARGS 6
|
||||
|
||||
#define UCF_SWAPPED 001 /* Context has been swapped in by swapcontext(3) */
|
||||
#define UCF_IGNFPU 002 /* Ignore FPU context by get or setcontext(3) */
|
||||
#define UCF_IGNSIGM 004 /* Ignore signal mask by get or setcontext(3) */
|
||||
typedef struct __ucontext ucontext_t;
|
||||
struct __ucontext {
|
||||
unsigned int uc_flags; /* Properties of ucontext */
|
||||
ucontext_t *uc_link; /* Next context to resume when current is finished */
|
||||
mcontext_t uc_mcontext; /* Machine state */
|
||||
sigset_t uc_sigmask; /* Signals blocked in this context */
|
||||
stack_t uc_stack; /* The stack used by this context */
|
||||
};
|
||||
|
||||
#endif /* _SYS_UCONTEXT_H */
|
||||
|
||||
Reference in New Issue
Block a user