Re: [PATCH 0/2] Delete CIRCLEQ
In article , Kamil Rytarowski wrote: >This removal is a part of a larger synchronization with other BSDs as >we lack various features in sys/queue.h (like LIST_PREV()). > >CIRCLEQ was already deleted from the documentation and disabled in the >kernel in NetBSD-7. If there are still any unaware users, they are >certainly long broken. > >What's the benefit of keeping it around and having no users and >documented deprecation plus being prone to miscompilation? The removal >does not break libc or kernel ABIs. Most 3rd party users of these >macros deliver a homegrown copy of sys/queue.h anyway. We should follow suit with the other BSD's and remove it. We should also look at FreeBSD's header, add the missing functions and the comments. It is pointless keeping it around. We've already discouraged its use and there is very little software using it. We can easily convert whatever it is using it to TAILQ. christos
Re: [PATCH 0/2] Delete CIRCLEQ
This removal is a part of a larger synchronization with other BSDs as we lack various features in sys/queue.h (like LIST_PREV()). CIRCLEQ was already deleted from the documentation and disabled in the kernel in NetBSD-7. If there are still any unaware users, they are certainly long broken. What's the benefit of keeping it around and having no users and documented deprecation plus being prone to miscompilation? The removal does not break libc or kernel ABIs. Most 3rd party users of these macros deliver a homegrown copy of sys/queue.h anyway. Kamil Rytarowski CTO, Moritz Systems www.moritz.systems pon., 12 paź 2020 o 13:15 Mouse napisał(a): > > >>> Remove the CIRCLEQ API completely from the system headers and > >>> document this fact in the QUEUE(3) man-page. > > >> why? queue.h may be used by more than src. > > >> i don't see any benefit except forcing working code to be changed, > >> possibly introducing bugs. > > >> please leave it alone. > > > It's been deprecated since -7, we can remove it for -10. > > So? I still agree with mrg: I too see no benefit to removing it (or > for that matter to deprecating it). What am I missing? What benefit > do you see? > > /~\ The ASCII Mouse > \ / Ribbon Campaign > X Against HTMLmo...@rodents-montreal.org > / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Re: [PATCH 0/2] Delete CIRCLEQ
>>> Remove the CIRCLEQ API completely from the system headers and >>> document this fact in the QUEUE(3) man-page. >> why? queue.h may be used by more than src. >> i don't see any benefit except forcing working code to be changed, >> possibly introducing bugs. >> please leave it alone. > It's been deprecated since -7, we can remove it for -10. So? I still agree with mrg: I too see no benefit to removing it (or for that matter to deprecating it). What am I missing? What benefit do you see? /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTMLmo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B
Re: [PATCH 0/2] Delete CIRCLEQ
Everything relatively modern that uses sys/queue.h directly was already switched a long time ago to TAILQ. Christos Zoulas changed most users of CIRCLEQ in the src tree 6 years ago. The last leftover is handled in this patchset. I was able to find some 3rd projects using CIRCLEQ, but probably all of them are both: 1. old 2. ship with a local copy of sys/queue.h. There is not much working code using CIRCLEQ left and NetBSD is pretty much the last one to deliver it. It's also broken for modern compilers and we need to launder pointers to workaround the pointer aliasing design flaw. Kamil Rytarowski CTO, Moritz Systems www.moritz.systems pon., 12 paź 2020 o 04:23 matthew green napisał(a): > > Kamil Rytarowski writes: > > Switch the last user (ypserv) from CIRCLEQ to TAILQ. > > This is inspired by analogous refactoring from OpenBSD: > > https://github.com/openbsd/src/commit/d53c0cf4d32fdbd8b42debfba068f1b0efa423dc#diff-8d0a4fbb89658213ebf314ff188581d7 > > > > Remove the CIRCLEQ API completely from the system headers and document > > this fact in the QUEUE(3) man-page. > > why? queue.h may be used by more than src. > > i don't see any benefit except forcing working code to > be changed, possibly introducing bugs. > > please leave it alone. > > > .mrg.
Re: [PATCH 0/2] Delete CIRCLEQ
On Mon, Oct 12, 2020 at 01:23:15PM +1100, matthew green wrote: > > Switch the last user (ypserv) from CIRCLEQ to TAILQ. > > This is inspired by analogous refactoring from OpenBSD: > > https://github.com/openbsd/src/commit/d53c0cf4d32fdbd8b42debfba068f1b0efa423dc#diff-8d0a4fbb89658213ebf314ff188581d7 > > > > Remove the CIRCLEQ API completely from the system headers and document > > this fact in the QUEUE(3) man-page. > > why? queue.h may be used by more than src. > > i don't see any benefit except forcing working code to > be changed, possibly introducing bugs. > > please leave it alone. It's been deprecated since -7, we can remove it for -10. Anyway, please at least do fix ypserv. -- David A. Holland dholl...@netbsd.org
re: [PATCH 0/2] Delete CIRCLEQ
Kamil Rytarowski writes: > Switch the last user (ypserv) from CIRCLEQ to TAILQ. > This is inspired by analogous refactoring from OpenBSD: > https://github.com/openbsd/src/commit/d53c0cf4d32fdbd8b42debfba068f1b0efa423dc#diff-8d0a4fbb89658213ebf314ff188581d7 > > Remove the CIRCLEQ API completely from the system headers and document > this fact in the QUEUE(3) man-page. why? queue.h may be used by more than src. i don't see any benefit except forcing working code to be changed, possibly introducing bugs. please leave it alone. .mrg.