Page MenuHomeFreeBSD

SysV IPC API cleanup
AbandonedPublic

Authored by brooks on Dec 19 2017, 2:55 AM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Oct 5, 6:38 AM
Unknown Object (File)
Sat, Oct 4, 8:52 AM
Unknown Object (File)
Fri, Oct 3, 5:29 PM
Unknown Object (File)
Sat, Sep 27, 11:14 AM
Unknown Object (File)
Sat, Sep 13, 2:36 AM
Unknown Object (File)
Aug 25 2025, 8:33 PM
Unknown Object (File)
Jul 26 2025, 10:51 AM
Unknown Object (File)
Jul 26 2025, 2:11 AM
Subscribers
None

Details

Reviewers
None
Summary

Break the struct msqid_ds API.

Rename msg_first and msg_last to kmsg_first and kmsg_last to break
any userspace consumers who refer to these kernel-only members.

The ABI remains unchanged.

Break the struct semid_ds API.

Rename the kernel-only sem_base variable to ksem_base to break any
userland consumers of it.

Don't exclare struct mymsg.

It is an example in the POSIX manpage, not an API. Applications should
declare their own message formats.

PR: 224299

Don't declare union semun in userspace unless _WANT_SEMUN is defined.

POSIX explicitly states that the application must declare union semun.
This makes no sense, but it is what it is.

Diff Detail

Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 13653
Build 13873: arc lint + arc unit

Event Timeline

See also https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224443. After I deal with ports I plan to abandon this revision and split the changes that are viable up into individual diffs.