git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
refactor: make the demos into dedicated files
[lunaix-os.git]
/
lunaix-os
/
kernel
/
signal.c
diff --git
a/lunaix-os/kernel/signal.c
b/lunaix-os/kernel/signal.c
index c3a6c07ffa89982bce3932a31652b32096dcb79e..dd16e2461c558df3cf534735a43dbda7cf135570 100644
(file)
--- a/
lunaix-os/kernel/signal.c
+++ b/
lunaix-os/kernel/signal.c
@@
-17,8
+17,9
@@
default_sighandler_term(int signum)
void* default_handlers[_SIG_NUM] = {
// TODO: 添加默认handler
void* default_handlers[_SIG_NUM] = {
// TODO: 添加默认handler
+ [_SIGINT] = default_sighandler_term, [_SIGTERM] = default_sighandler_term,
+ [_SIGKILL] = default_sighandler_term, [_SIGSEGV] = default_sighandler_term,
[_SIGINT] = default_sighandler_term,
[_SIGINT] = default_sighandler_term,
- [_SIGTERM] = default_sighandler_term,
};
// Referenced in kernel/asm/x86/interrupt.S
};
// Referenced in kernel/asm/x86/interrupt.S
@@
-105,7
+106,7
@@
send_grp:
return 0;
send_single:
return 0;
send_single:
- if (
(proc->state & PROC_TERMMASK
)) {
+ if (
PROC_TERMINATED(proc->state
)) {
__current->k_status = LXINVL;
return -1;
}
__current->k_status = LXINVL;
return -1;
}