sched.c: use printnum_int and printaddr

* sched.c (sys_sched_setscheduler, sys_sched_getparam,
sys_sched_setparam): Use printnum_int for sched_param decoding.
(sched_rr_get_interval): Use printaddr.
This commit is contained in:
Дмитрий Левин 2015-07-17 16:12:22 +00:00
parent 8277ec9c60
commit f8bf1d5633

29
sched.c
View File

@ -19,39 +19,28 @@ SYS_FUNC(sched_getscheduler)
SYS_FUNC(sched_setscheduler) SYS_FUNC(sched_setscheduler)
{ {
if (entering(tcp)) { if (entering(tcp)) {
struct sched_param p;
tprintf("%d, ", (int) tcp->u_arg[0]); tprintf("%d, ", (int) tcp->u_arg[0]);
printxval(schedulers, tcp->u_arg[1], "SCHED_???"); printxval(schedulers, tcp->u_arg[1], "SCHED_???");
if (umove(tcp, tcp->u_arg[2], &p) < 0) tprints(", ");
tprintf(", %#lx", tcp->u_arg[2]); printnum_int(tcp, tcp->u_arg[2], "%d");
else
tprintf(", { %d }", p.sched_priority);
} }
return 0; return 0;
} }
SYS_FUNC(sched_getparam) SYS_FUNC(sched_getparam)
{ {
if (entering(tcp)) { if (entering(tcp))
tprintf("%d, ", (int) tcp->u_arg[0]); tprintf("%d, ", (int) tcp->u_arg[0]);
} else { else
struct sched_param p; printnum_int(tcp, tcp->u_arg[1], "%d");
if (umove(tcp, tcp->u_arg[1], &p) < 0)
tprintf("%#lx", tcp->u_arg[1]);
else
tprintf("{ %d }", p.sched_priority);
}
return 0; return 0;
} }
SYS_FUNC(sched_setparam) SYS_FUNC(sched_setparam)
{ {
if (entering(tcp)) { if (entering(tcp)) {
struct sched_param p; tprintf("%d, ", (int) tcp->u_arg[0]);
if (umove(tcp, tcp->u_arg[1], &p) < 0) printnum_int(tcp, tcp->u_arg[1], "%d");
tprintf("%d, %#lx", (int) tcp->u_arg[0], tcp->u_arg[1]);
else
tprintf("%d, { %d }", (int) tcp->u_arg[0], p.sched_priority);
} }
return 0; return 0;
} }
@ -67,10 +56,10 @@ SYS_FUNC(sched_get_priority_min)
SYS_FUNC(sched_rr_get_interval) SYS_FUNC(sched_rr_get_interval)
{ {
if (entering(tcp)) { if (entering(tcp)) {
tprintf("%ld, ", (long) (pid_t) tcp->u_arg[0]); tprintf("%d, ", (int) tcp->u_arg[0]);
} else { } else {
if (syserror(tcp)) if (syserror(tcp))
tprintf("%#lx", tcp->u_arg[1]); printaddr(tcp->u_arg[1]);
else else
print_timespec(tcp, tcp->u_arg[1]); print_timespec(tcp, tcp->u_arg[1]);
} }