On 28 June 2016 at 17:52, Rich Felker <dalias@libc.org> wrote:
On Tue, Jun 28, 2016 at 04:00:45PM +0100, Raphael Cohn wrote:
> Hi,
>
> I'm in the process of compiling ZFS on Linux against musl. ZFS seems to
> make a few slightly glibc-like assumptions, one of which is the use of
> RUSAGE_THREAD. Musl seems to lack a definition of this in sys/resource.h.
> Is this deliberate?
>
> Glibc defines RUSAGE_THREAD as 1, but musl already uses this value for
> RUSAGE_CHILDREN (glibc sets this as -1). What would be the correct value
> for RUSAGE_THREAD with musl?

Maybe this is incorrect in musl then. Can anyone confirm? The values
are determined by (i.e. have to match) the kernel.

Rich

I've grabbed the 4.6 linux kernel sources. A quick grep suggests  include/uapi/linux/resource.h  defines it as 1. Additionally, in this file:-

RUSAGE_SELF is 0 (I believe this is also the value musl uses).
RUSAGE_CHILDREN is -1
RUSAGE_BOTH is -2 (not in glibc; not mentioned in the getrusage man pages I have).

What does anyone else think?