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.
Details
Details
- Reviewers
kib
Diff Detail
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
| 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. | |