diff options
Diffstat (limited to 'include/kernel')
| -rw-r--r-- | include/kernel/sched.h | 9 | ||||
| -rw-r--r-- | include/kernel/sys.h | 3 |
2 files changed, 11 insertions, 1 deletions
diff --git a/include/kernel/sched.h b/include/kernel/sched.h index 42b5b15..ac508b9 100644 --- a/include/kernel/sched.h +++ b/include/kernel/sched.h @@ -1,6 +1,7 @@ #ifndef _SCHED_H #define _SCHED_H +#include <signal.h> #include <stdint.h> #include <unistd.h> @@ -39,9 +40,17 @@ struct tss_struct { uint32_t io_map; } __attribute__((packed)); +/* + * WARNING: do not modify this structure + * unless the offsets defined in traps.s + * are updated + */ + struct task_struct { pid_t pid; int state; + uint32_t signal; + void *sig_handlers[NRSIG]; struct tss_struct tss; } __attribute__((packed)); diff --git a/include/kernel/sys.h b/include/kernel/sys.h index 248a93b..b2c1b3b 100644 --- a/include/kernel/sys.h +++ b/include/kernel/sys.h @@ -4,6 +4,7 @@ extern int sys_puts(void); extern int sys_time(void); extern int sys_getpid(void); extern int sys_getpdir(void); +extern int sys_signal(void); extern int sys_dummy(void); syscall_t call_table[256] = { @@ -11,7 +12,7 @@ syscall_t call_table[256] = { [1] = &sys_time, [2] = &sys_getpid, [3] = &sys_getpdir, - [4] = &sys_dummy, + [4] = &sys_signal, [5] = &sys_dummy, [6] = &sys_dummy, [7] = &sys_dummy, |
