Page MenuHomeFreeBSD

Get rid of the requirement to include SysV IPC headers with _KERNEL defined in ipcrm by introducing a number of _WANT_foo defines.
ClosedPublic

Authored by brooks on Feb 8 2018, 7:57 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mar 18 2024, 8:32 AM
Unknown Object (File)
Dec 20 2023, 7:35 AM
Unknown Object (File)
Dec 18 2023, 6:15 PM
Unknown Object (File)
Dec 8 2023, 2:49 AM
Unknown Object (File)
Nov 6 2023, 11:09 AM
Unknown Object (File)
Nov 6 2023, 1:12 AM
Unknown Object (File)
Nov 5 2023, 11:16 PM
Unknown Object (File)
Nov 1 2023, 1:09 AM
Subscribers

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Rebase to remove already committed changes.

sys/sys/msg.h
130 ↗(On Diff #39058)

I would perhaps use slightly-less fine-grained macros. E.g. a single _WANT_SYSVMSG for this file.

  • Replace assorted _WANT defines with _WANT_SYSV(IPC|MSG_SEM_SHM)_INTERNALS.
sys/sys/msg.h
154 ↗(On Diff #39222)

You can drop this and the above #endif now I think?

174 ↗(On Diff #39222)

Maybe blank lines around the #else as there is in sem.h (and then keep the blank line before the #endif)? I find that a bit easier to read.

sys/sys/sem.h
124 ↗(On Diff #39222)

Here as well.

135 ↗(On Diff #39222)

Here.

sys/sys/shm.h
127 ↗(On Diff #39222)

Can collapse this #endif and #if.

133 ↗(On Diff #39222)

I think for this I would actually prefer to always use the 'struct vm_object;' forward declare and then use 'struct vm_object *' instead of 'vm_object_t'. I feel like we do this in some other places in the kernel where we export a structure to userland, e.g. for 'td_kstack_obj' in 'struct thread'. That would mean you wouldn't need the #include of <vm/vm.h> or the #ifdef at all.

usr.bin/ipcs/ipc.h
71 ↗(On Diff #39222)

Oh wow, that was gross (ipcs depending on the kernel externs)

brooks marked 8 inline comments as done.
  • Consolidate ifdef blocks.

Tidied up. Thanks for the suggestions.

This revision is now accepted and ready to land.Feb 16 2018, 12:07 AM
This revision was automatically updated to reflect the committed changes.