Subject: Re: [PATCH] list: avoid incompatibility with *BSD sys/queue.h

From: Eric Wong <[email-masked]>
Date: Sun, 17 Jul 2016 23:07:18 +0000

Eric Sunshine <[email-masked]> wrote:
> On Sat, Jul 16, 2016 at 8:25 PM, Eric Wong <[email-masked]> wrote:
> > Eric Wong <[email-masked]> wrote:
> >> I also wonder where we use sys/queue.h, since I use
> >> LIST_HEAD from ccan/list/list.h in a different project
> >> without conflicts...
> >
> > Still wondering... Checking sys/mman.h in an old FreeBSD source
> > tree I had lying around reveals "#include <sys/queue.h>" is
> > guarded by "#if defined(_KERNEL)", so it mman.h wouldn't pull
> > it in for userspace builds...
> 
> It's pulled in like this:
> 
>     git-compat-util.h ->
>     sys/sysctl.h ->
>     sys/ucred.h ->
>     sys/queue.h

Ah, thanks (and I've been sidetracked into using FreeBSD again :>)

> Very reminiscent of [1].
> 
> [1]: http://git.661346.n2.nabble.com/PATCH-ewah-bitmap-silence-warning-about-MASK-macro-redefinition-td7632287.html

Alright.  In this case, I think "LIST_HEAD" is sufficiently
descriptive compared to more-generically named "MASK" or "BLOCK"
that it's harmless to "#undef LIST_HEAD" here without worrying
about conflicts or breaking outside code.