]> granicus.if.org Git - strace/commitdiff
Implement sched_rr_get_interval syscall decoder
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 11 Mar 2012 23:00:11 +0000 (23:00 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 11 Mar 2012 23:00:11 +0000 (23:00 +0000)
* 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
linux/syscall.h
process.c

index 03191ecd155773df11aab42a60d9eca7e9e0831f..88e3ba99a255aebbffe860e5e91900a82b49122e 100644 (file)
@@ -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
index 7abc4cf792348960f1906ec3fb7ab13e6ae54f7d..f5b0ef6a3b8aecffdeab8178d826dc75a4e5674c 100644 (file)
@@ -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();
index 0393288e8d13656e2bb6bdba28f6004543211497..12d0948b983b8658aa371d24e2dc33f3be225839 100644 (file)
--- 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 <asm/prctl.h>