On Wed, Feb 10, 2021 at 10:53 AM Alejandro Colomar (man-pages) <alx.manpages@xxxxxxxxx> wrote: > On 2/10/21 4:38 PM, Zack Weinberg wrote: > > > > I don't know about anyone else on the glibc team, but I personally > > consider the entirety of <sys/queue.h> to be provided only for some > > degree of backward compatibility with old applications that were > > ported from BSD; new code should not use it. I'd *like* to formally > > deprecate it, but I expect that would cause too much breakage to be > > viable. Anyway, I hope you can understand why I'm not interested in > > messing with its contents at all. > > > > (Can we add a statement to the effect that new code should not use > > <sys/queue.h> to all of the related manpages, please?) > > Would you mind explaining your reasons for the deprecation? Performance? No, portability and reliability. The contents of <sys/queue.h> are not consistent among the various operating systems that offer it, and some versions have outright bugs. > What functions/macros should be used instead of the queue.h macros? In C, I think applications are better off implementing these simple data structures themselves. In any other language, the standard library probably has something built-in with a more stable and probably also more ergonomic API. zw