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
feat: owloysius - dynamic init function invocator
[lunaix-os.git]
/
lunaix-os
/
kernel
/
process
/
signal.c
diff --git
a/lunaix-os/kernel/process/signal.c
b/lunaix-os/kernel/process/signal.c
index c4e1662c1a89aa4ec78f3405c71fa8e93245e481..6690f98eb09399cd4ea7b3b1b819ad794659f6eb 100644
(file)
--- a/
lunaix-os/kernel/process/signal.c
+++ b/
lunaix-os/kernel/process/signal.c
@@
-39,7
+39,7
@@
signal_dispatch()
struct sigact* prev_working = psig->inprogress;
sigset_t mask = psig->sig_mask | (prev_working ? prev_working->sa_mask : 0);
struct sigact* prev_working = psig->inprogress;
sigset_t mask = psig->sig_mask | (prev_working ? prev_working->sa_mask : 0);
- int sig_selected = 31 -
__builtin_
clz(psig->sig_pending & ~mask);
+ int sig_selected = 31 - clz(psig->sig_pending & ~mask);
sigset_clear(psig->sig_pending, sig_selected);
sigset_clear(psig->sig_pending, sig_selected);
@@
-67,7
+67,7
@@
signal_dispatch()
}
struct proc_sig* sigframe =
}
struct proc_sig* sigframe =
- (struct proc_sig*)((ustack - sizeof(struct proc_sig)) & ~0xf);
+
(struct proc_sig*)((ustack - sizeof(struct proc_sig)) & ~0xf);
sigframe->sig_num = sig_selected;
sigframe->sigact = action->sa_actor;
sigframe->sig_num = sig_selected;
sigframe->sigact = action->sa_actor;
@@
-111,7
+111,7
@@
signal_send(pid_t pid, int signum)
} else if (!pid) {
proc = __current;
goto send_grp;
} else if (!pid) {
proc = __current;
goto send_grp;
- } else if (pid <
-1
) {
+ } else if (pid <
0
) {
proc = get_process(-pid);
goto send_grp;
} else {
proc = get_process(-pid);
goto send_grp;
} else {
@@
-121,7
+121,7
@@
signal_send(pid_t pid, int signum)
return -1;
}
return -1;
}
-send_grp:
+send_grp:
;
struct proc_info *pos, *n;
llist_for_each(pos, n, &proc->grp_member, grp_member)
{
struct proc_info *pos, *n;
llist_for_each(pos, n, &proc->grp_member, grp_member)
{
@@
-178,14
+178,8
@@
__DEFINE_LXSYSCALL1(int, sigreturn, struct proc_sig, *sig_ctx)
return 0;
}
return 0;
}
-__DEFINE_LXSYSCALL3(int,
- sigprocmask,
- int,
- how,
- const sigset_t,
- *set,
- sigset_t,
- *oldset)
+__DEFINE_LXSYSCALL3(
+ int, sigprocmask, int, how, const sigset_t, *set, sigset_t, *oldset)
{
struct sighail* sh = &__current->sigctx;
*oldset = sh->sig_mask;
{
struct sighail* sh = &__current->sigctx;
*oldset = sh->sig_mask;