@ -107,6 +107,7 @@ SYSCALL_HANDLED(158, arch_prctl)
|
|||||||
SYSCALL_HANDLED(160, setrlimit)
|
SYSCALL_HANDLED(160, setrlimit)
|
||||||
SYSCALL_HANDLED(164, settimeofday)
|
SYSCALL_HANDLED(164, settimeofday)
|
||||||
SYSCALL_HANDLED(186, gettid)
|
SYSCALL_HANDLED(186, gettid)
|
||||||
|
SYSCALL_HANDLED(200, tkill)
|
||||||
SYSCALL_DELEGATED(201, time)
|
SYSCALL_DELEGATED(201, time)
|
||||||
SYSCALL_HANDLED(202, futex)
|
SYSCALL_HANDLED(202, futex)
|
||||||
SYSCALL_HANDLED(203, sched_setaffinity)
|
SYSCALL_HANDLED(203, sched_setaffinity)
|
||||||
|
|||||||
@ -2075,6 +2075,24 @@ SYSCALL_DECLARE(tgkill)
|
|||||||
return do_kill(thread, tgid, tid, sig, &info, 0);
|
return do_kill(thread, tgid, tid, sig, &info, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SYSCALL_DECLARE(tkill)
|
||||||
|
{
|
||||||
|
int tid = ihk_mc_syscall_arg0(ctx);
|
||||||
|
int sig = ihk_mc_syscall_arg1(ctx);
|
||||||
|
struct thread *thread = cpu_local_var(current);
|
||||||
|
struct siginfo info;
|
||||||
|
|
||||||
|
memset(&info, '\0', sizeof info);
|
||||||
|
info.si_signo = sig;
|
||||||
|
info.si_code = SI_TKILL;
|
||||||
|
info._sifields._kill.si_pid = thread->proc->pid;
|
||||||
|
|
||||||
|
if(tid <= 0)
|
||||||
|
return -EINVAL;
|
||||||
|
|
||||||
|
return do_kill(thread, -1, tid, sig, &info, 0);
|
||||||
|
}
|
||||||
|
|
||||||
int *
|
int *
|
||||||
getcred(int *_buf)
|
getcred(int *_buf)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user