Page MenuHomeFreeBSD

pthread: Make pthread_np.h self-contained
AcceptedPublic

Authored by markj on Wed, May 6, 5:27 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 21, 1:54 PM
Unknown Object (File)
Thu, May 21, 7:03 AM
Unknown Object (File)
Thu, May 21, 1:01 AM
Unknown Object (File)
Wed, May 20, 2:12 PM
Unknown Object (File)
Tue, May 19, 6:15 AM
Unknown Object (File)
Sun, May 17, 9:54 AM
Unknown Object (File)
Thu, May 14, 9:32 PM
Unknown Object (File)
Thu, May 14, 6:30 PM
Subscribers

Details

Reviewers
kib
olce
Summary

Including param.h from a standard header is inappropriate. param.h
defines all sorts of crap which collides with commonly used identifiers.
I discovered this while trying to build an old version of QEMU which
polluted its namespace by including pthread_np.h->sys/param.h, which
defines FSCALE, which breaks QEMU code.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 72859
Build 69742: arc lint + arc unit

Event Timeline

markj requested review of this revision.Wed, May 6, 5:27 PM
include/pthread_np.h
37

I think this must be sys/types.h.

In the man pages, pthread_attr_getaffinity_np() is documented to take size_t. It is natural for consumer to conclude that including pthread_np.h implies availability of size_t.

Then the change of size_t to __size_t in prototypes can be reverted.

Include sys/types.h instead of sys/_types.h

This revision is now accepted and ready to land.Wed, May 6, 7:14 PM