X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/7c7b5f05d39b7739d990f71256a2267ec67a6913..7b8a1bcad75628f9add4590db2bb9b8e418ee8eb:/lunaix-os/kernel/process/signal.c diff --git a/lunaix-os/kernel/process/signal.c b/lunaix-os/kernel/process/signal.c index c4e1662..6690f98 100644 --- 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); - 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); @@ -67,7 +67,7 @@ signal_dispatch() } 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; @@ -111,7 +111,7 @@ signal_send(pid_t pid, int signum) } else if (!pid) { proc = __current; goto send_grp; - } else if (pid < -1) { + } else if (pid < 0) { proc = get_process(-pid); goto send_grp; } else { @@ -121,7 +121,7 @@ signal_send(pid_t pid, int signum) return -1; } -send_grp: +send_grp: ; 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; } -__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;