Post AziMSjbMs6MsQ9mR9M by lanodan@queer.hacktivis.me
(DIR) More posts by lanodan@queer.hacktivis.me
(DIR) Post #AzgORtbpzPGclGo9aK by lanodan@queer.hacktivis.me
2025-10-28T23:12:39.636551Z
0 likes, 0 repeats
@ska Made me check and as "change history" hints, it truly goes back to SUSv2 from 1995~1997.https://pubs.opengroup.org/onlinepubs/007908799/xsh/getpgid.html
(DIR) Post #AzgPMjy0VotrMWHcOW by lanodan@queer.hacktivis.me
2025-10-28T23:22:56.246371Z
0 likes, 0 repeats
@ska And sadly it's pre-2000 so not sure if there's the meetings materials anywhere.(For more recent ones it's at https://www.opengroup.org/austin/docreg_1-99.html and https://www.opengroup.org/austin/docreg.html )
(DIR) Post #AzgSoMsIGHHDiKTZr6 by lanodan@queer.hacktivis.me
2025-10-29T00:01:32.585384Z
0 likes, 0 repeats
@ska Sadly I don't think I can spelunk further myself, messed up how the version numbers match (this stuff is a mess) and it actually goes back to SUSv1, so I don't even have version control going earlier.
(DIR) Post #AzgYUOVb4nkUiNidge by ljrk@todon.eu
2025-10-29T00:36:01Z
0 likes, 0 repeats
@lanodan @ska I mean quite generally the "rationale" for anything like this is usually: some implementor already did it like this so we need to write the standard s.t. it fits. POSIX started out as XPG, so mostly just documenting preexisting common interfaces rather than defining ones for the future. If they tried the latter, that often failed (e.g., pax). So my money is on: Some UNIX did something weird in that case and that's why this clause is part of POSIX ^^'
(DIR) Post #AzgYUQ0TVU2hMRAoSG by lanodan@queer.hacktivis.me
2025-10-29T01:05:07.063130Z
0 likes, 0 repeats
@ljrk @ska Yeah, but effectively if that Unix is either gone or has changed since, it can help on moving things along. That's why details on rationales are useful.
(DIR) Post #Azgc6OPmAp6DI3o5ke by ljrk@todon.eu
2025-10-29T01:16:34Z
0 likes, 0 repeats
@lanodan @ska absolutely! but arguing about a UNIX being "gone" is very difficult territory in a working group that's defining what UNIX™ is and mostly about cosplaying a time where this matters. I love POSIX, I really do, but I've attended one of the Austin Groups meetings as an intern. And that was enough for a lifetime.
(DIR) Post #Azgc6Pl5B5jjSQmcbI by lanodan@queer.hacktivis.me
2025-10-29T01:45:34.930958Z
0 likes, 0 repeats
@ljrk @ska Well a lot of UNIX systems were last released/discontinued in the 90's like Amiga Unix, Digital Unix/Tru64, A/UX, …IRIX last got an update in 2006 but writing was on the wall in ~2001 already, SunOS (BSD) got replaced by Solaris (SysV with bits of BSD-compat), …And in the last few years I think I've yet to see someone actually check behavior of ones like AIX or HP-UX beyond the manpages, usually it's major foss systems and a bit of Solaris + macOS.
(DIR) Post #Azgi5TdPsbMouo8LgW by lanodan@queer.hacktivis.me
2025-10-29T02:52:42.015272Z
0 likes, 0 repeats
@ska @ljrk Heh the gcc -o /dev/null thing reminds me that if you run tcc -o /dev/null as root you actually end up with an executable at /dev/null since it does an unlink+creat
(DIR) Post #AzhnW2j2jI08CnDEEy by JdeBP@tty0.social
2025-10-29T07:30:53Z
1 likes, 0 repeats
@ljrk @lanodan @ska In this case, it apparently goes back to the original AT&T Unix concept of sessions, when BSD process groups were added to them.I pulled my copy of Pate down from the shelf and this restriction was in either XENIX or System 5 (Pate is not completely clear) and hence why it was standardized.Quite why #OpenBSD later gained this restriction is a mystery from the commit log. It wasn't in #NetBSD but added by @millert in 2000.https://github.com/openbsd/src/commit/b3fe5974ccb2d4b668d93844f3e74d0a4e3306b8#FreeBSD #Illumos
(DIR) Post #AziDAJsMsj4XpksNyC by ljrk@todon.eu
2025-10-29T19:45:25Z
0 likes, 0 repeats
@lanodan @ska Oh absolutely, I won't argue against you on that! It's just... that some in the committee have (had?) the habit of basically claiming any UNIX as alive as long as they could spin up a VM of them... .Of course this is absurd because then one couldn't do any changes at all that may break old UNIXen. But that's the state that POSIX has indeed been in for quite some time unfortunately :'-DOh, also fuck Alien UNIX
(DIR) Post #AziDAKghrZL2LsQaQq by lanodan@queer.hacktivis.me
2025-10-29T20:15:37.732610Z
0 likes, 0 repeats
@ljrk @ska Well at least haven't had that, in fact got SunOS as one example of a gone Unix in one of the meetings (with Solaris 11 also recognised as still being a thing, although personally I wouldn't be surprised if it's the last major release of Solaris).And things like compilers that aren't C17-compatible (POSIX.1-2024 uses C17) yet as irrelevant too in at least one case.
(DIR) Post #AziM9jFJyAmloePCEq by JdeBP@tty0.social
2025-10-29T21:55:06Z
1 likes, 0 repeats
@ljrk @lanodan @ska Sadly, it is a common failing of manual pages to parrot the SUS and its wording for implementation-defined behaviour rather than document the concrete operating system at hand:Whilst the #Illumos manual page leaves the loophole open, the actual kernel code does not make same-session checks and never returns EPERM from getpgid().https://github.com/illumos/illumos-gate/blob/044718b30e6a998dddd440a2d90357cc7eb053ad/usr/src/uts/common/syscall/pgrpsys.c#L152#Tribblix #OpenIndiana #OmniOS #getpgid
(DIR) Post #AziMSjbMs6MsQ9mR9M by lanodan@queer.hacktivis.me
2025-10-29T21:59:44.356574Z
1 likes, 0 repeats
@JdeBP @ljrk @ska Yeah, I think most implementers write the manpage+implementation together with reading the SUS.At least I've parroted SUS few times myself due to doing this, and not sure that like doing implementation, sleeping on it, then write the manpage would be a much better idea as you'd likely forget some implementation details.