From 1ff463d15412de77fcf5b8ca1cf43c63dce1dbe1 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Sun, 11 Mar 2012 23:00:11 +0000 Subject: [PATCH] Implement sched_rr_get_interval syscall decoder * linux/dummy.h (sys_sched_rr_get_interval): Remove. * linux/syscall.h (sys_sched_rr_get_interval): New prototype. * process.c (sys_sched_rr_get_interval): New function. --- linux/dummy.h | 1 - linux/syscall.h | 1 + process.c | 14 ++++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/linux/dummy.h b/linux/dummy.h index 03191ecd..88e3ba99 100644 --- a/linux/dummy.h +++ b/linux/dummy.h @@ -45,7 +45,6 @@ #define sys_prlimit64 printargs #define sys_request_key printargs #define sys_rt_tgsigqueueinfo printargs -#define sys_sched_rr_get_interval printargs #define sys_sendmmsg printargs #define sys_sync_file_range printargs #define sys_sysfs printargs diff --git a/linux/syscall.h b/linux/syscall.h index 7abc4cf7..f5b0ef6a 100644 --- a/linux/syscall.h +++ b/linux/syscall.h @@ -208,6 +208,7 @@ int sys_sched_get_priority_min(); int sys_sched_getaffinity(); int sys_sched_getparam(); int sys_sched_getscheduler(); +int sys_sched_rr_get_interval(); int sys_sched_setaffinity(); int sys_sched_setparam(); int sys_sched_setscheduler(); diff --git a/process.c b/process.c index 0393288e..12d0948b 100644 --- a/process.c +++ b/process.c @@ -2717,6 +2717,20 @@ sys_sched_get_priority_min(struct tcb *tcp) return 0; } +int +sys_sched_rr_get_interval(struct tcb *tcp) +{ + if (entering(tcp)) { + tprintf("%ld, ", (long) (pid_t) tcp->u_arg[0]); + } else { + if (syserror(tcp)) + tprintf("%#lx", tcp->u_arg[1]); + else + print_timespec(tcp, tcp->u_arg[1]); + } + return 0; +} + # ifdef X86_64 # include -- 2.50.1