I was hoping to remove more of them: at least CENV_SYS_BSD for example which
would allow removing several more.
Unfortunately CENV_SYS_BSD is used in tape control behaviour checks.
There is no way of checking those with configure. Worse, how well tape
worked on various Unixen when the tape code was written may be totally
different in later versions.
For signal handling I could at least remove CENV_SYS_BSD by implementing
the suggestion to use sigvec(2) (now deprecated). Falling back to plain
V7-style signal(2) is probably not good enough, so that is an error case
now. Fortunately that is totally unneeded on any modern Unix.
"klh10.h" includes "cenv.h".
This is possibly needed on systems that need some defines before
including system headers, for Long File Support.
I either moved an existing include line up or added #include "cenv.h"
where none of these was included before.
Note that most of the definitions in the "cenv.h" file are, or should be,
obsolete. Where still relevant, they should be detected by the
configure script.
Inspired by Rich Alderson's MacOS 10.6.8 changes.
He used IPC_CREAT+IPC_PRIVATE+IPC_R+IPC_W.
However, IPC_PRIVATE is a special value for the key argument, not shmflg.
Furthermore, adding IPC_CREAT to the flags when the key is IPC_PRIVATE
seems unnecessary but should not harm.
See http://pubs.opengroup.org/onlinepubs/9699919799/functions/shmget.html
for the "IEEE Std 1003.1-2008, 2016 Edition" version of shmget(2).