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
Merge branch 'vfs-dev'
[lunaix-os.git]
/
lunaix-os
/
kernel
/
signal.c
diff --git
a/lunaix-os/kernel/signal.c
b/lunaix-os/kernel/signal.c
index cb47e8dacfc164548954bde39412c6da75eadf6f..5f0c868789d9af36d6286dfae989b9a385e28546 100644
(file)
--- a/
lunaix-os/kernel/signal.c
+++ b/
lunaix-os/kernel/signal.c
@@
-99,7
+99,7
@@
int
signal_send(pid_t pid, int signum)
{
if (signum < 0 || signum >= _SIG_NUM) {
signal_send(pid_t pid, int signum)
{
if (signum < 0 || signum >= _SIG_NUM) {
- __current->k_status =
LXINV
L;
+ __current->k_status =
EINVA
L;
return -1;
}
return -1;
}
@@
-116,7
+116,7
@@
signal_send(pid_t pid, int signum)
} else {
// TODO: send to all process.
// But I don't want to support it yet.
} else {
// TODO: send to all process.
// But I don't want to support it yet.
- __current->k_status =
LXINV
L;
+ __current->k_status =
EINVA
L;
return -1;
}
return -1;
}
@@
-130,7
+130,7
@@
send_grp:
send_single:
if (PROC_TERMINATED(proc->state)) {
send_single:
if (PROC_TERMINATED(proc->state)) {
- __current->k_status =
LXINV
L;
+ __current->k_status =
EINVA
L;
return -1;
}
__SIGSET(proc->sig_pending, signum);
return -1;
}
__SIGSET(proc->sig_pending, signum);
@@
-188,11
+188,10
@@
__do_pause()
{
__current->flags |= PROC_FINPAUSE;
{
__current->flags |= PROC_FINPAUSE;
- __SYSCALL_INTERRUPTIBLE({
- while ((__current->flags & PROC_FINPAUSE)) {
- sched_yield();
- }
- })
+ while ((__current->flags & PROC_FINPAUSE)) {
+ sched_yieldk();
+ }
+
__current->k_status = EINTR;
}
__current->k_status = EINTR;
}