mirror of
https://github.com/fluencelabs/musl
synced 2025-04-27 00:02:12 +00:00
19 lines
584 B
C
19 lines
584 B
C
|
#include <sys/wait.h>
|
||
|
#include <sys/resource.h>
|
||
|
#include <string.h>
|
||
|
#include "syscall.h"
|
||
|
|
||
|
pid_t wait4(pid_t pid, int *status, int options, struct rusage *usage)
|
||
|
{
|
||
|
pid_t ret = syscall4(__NR_wait4, pid, (long)status, options, (long)usage);
|
||
|
/* Fixup kernel time_t... */
|
||
|
if (usage) {
|
||
|
long kusage[4];
|
||
|
memcpy(kusage, usage, sizeof kusage);
|
||
|
memmove((struct timeval *)usage + 2, (long *)usage + 4, sizeof *usage - 2*sizeof(struct timeval));
|
||
|
usage->ru_utime = (struct timeval){ kusage[0], kusage[1] };
|
||
|
usage->ru_stime = (struct timeval){ kusage[2], kusage[3] };
|
||
|
}
|
||
|
return ret;
|
||
|
}
|