the kernel ABI value for RUSAGE_CHILDREN is -1, not 1. the latter is actually interpreted as RUSAGE_THREAD, to obtain values for just the calling thread and not the whole process.
@@ -68,7 +68,7 @@ int prlimit(pid_t, int, const struct rlimit *, struct rlimit *);
#define PRIO_USER 2
#define RUSAGE_SELF 0
-#define RUSAGE_CHILDREN 1
+#define RUSAGE_CHILDREN (-1)
#define RLIM_INFINITY (~0ULL)
#define RLIM_SAVED_CUR RLIM_INFINITY