> From: Jeremie Courreges-Anglas <[email protected]>
> Date: Mon, 10 Apr 2017 15:03:10 +0200
>
> We have a bunch of patches in ports to deal with EPROTO and EBADMSG not
> being defined. It would be nice to get rid of those. The diff below
> also adds the also missing ENOTRECOVERABLE and EOWNERDEAD.
>
> Thoughts?
>
> (Dunno if there is a point describing verbosely what those new errno
> values mean on other systems...)
These are all in POSIX now. ENORECOVERABLE and EOWNERDEAD are errors
returned for robus mutexes that we don't implement yet (but might want
to implement at one point). EBASMSG and EPROTO are really obsolete
values for streams. EBADMSG got re-used in catgets(3), but our
implementation doesn't generate it and the message passing extension
(which we don't implement). EPROTO probably should have been marked
as obsolete (and therefore optional). Given that Darwin, FreeBSD,
NetBSD, Linux and Solaris all provide this, we're probably better off
adding them as well.
ok kettenis@
> Index: lib/libc/shlib_version
> ===================================================================
> RCS file: /d/cvs/src/lib/libc/shlib_version,v
> retrieving revision 1.189
> diff -u -p -r1.189 shlib_version
> --- lib/libc/shlib_version 10 Apr 2017 05:10:56 -0000 1.189
> +++ lib/libc/shlib_version 10 Apr 2017 12:56:16 -0000
> @@ -1,4 +1,4 @@
> major=89
> -minor=4
> +minor=5
> # note: If changes were made to include/thread_private.h or if system
> # calls were added/changed then librthread/shlib_version also be updated.
> Index: lib/libc/gen/errlist.c
> ===================================================================
> RCS file: /d/cvs/src/lib/libc/gen/errlist.c,v
> retrieving revision 1.18
> diff -u -p -r1.18 errlist.c
> --- lib/libc/gen/errlist.c 24 Oct 2015 10:42:02 -0000 1.18
> +++ lib/libc/gen/errlist.c 10 Apr 2017 12:56:16 -0000
> @@ -142,6 +142,10 @@ const char *const sys_errlist[] = {
> "Identifier removed", /* 89 - EIDRM */
> "No message of desired type", /* 90 - ENOMSG */
> "Not supported", /* 91 - ENOTSUP */
> + "Bad message", /* 92 - EBADMSG */
> + "State not recoverable", /* 93 - ENOTRECOVERABLE */
> + "Previous owner died", /* 94 - EOWNERDEAD */
> + "Protocol error", /* 95 - EPROTO */
> };
> const int sys_nerr = { sizeof sys_errlist/sizeof sys_errlist[0] };
> #if 0
> Index: lib/libc/sys/intro.2
> ===================================================================
> RCS file: /d/cvs/src/lib/libc/sys/intro.2,v
> retrieving revision 1.64
> diff -u -p -r1.64 intro.2
> --- lib/libc/sys/intro.2 17 Apr 2016 14:36:44 -0000 1.64
> +++ lib/libc/sys/intro.2 10 Apr 2017 12:58:29 -0000
> @@ -425,6 +425,18 @@ An IPC message queue does not contain a
> or a message catalog does not contain the requested message.
> .It Er 91 ENOTSUP Em "Not supported" .
> The operation has requested an unsupported value.
> +.It Er 92 EBADMSG Em "Bad message" .
> +Not used on
> +.Ox .
> +.It Er 93 ENOTRECOVERABLE Em "State not recoverable" .
> +Not used in
> +.Ox .
> +.It Er 94 EOWNERDEAD Em "Previous owner died" .
> +Not used in
> +.Ox .
> +.It Er 95 EPROTO Em "Protocol error" .
> +Not used in
> +.Ox .
> .El
> .Sh DEFINITIONS
> .Bl -tag -width Ds
> Index: sys/sys/errno.h
> ===================================================================
> RCS file: /d/cvs/src/sys/sys/errno.h,v
> retrieving revision 1.24
> diff -u -p -r1.24 errno.h
> --- sys/sys/errno.h 24 Oct 2015 10:42:02 -0000 1.24
> +++ sys/sys/errno.h 10 Apr 2017 12:56:16 -0000
> @@ -167,8 +167,12 @@
> #define EIDRM 89 /* Identifier removed */
> #define ENOMSG 90 /* No message of desired type */
> #define ENOTSUP 91 /* Not supported */
> +#define EBADMSG 92 /* Bad message. */
> +#define ENOTRECOVERABLE 93 /* State not recoverable. */
> +#define EOWNERDEAD 94 /* Previous owner died. */
> +#define EPROTO 95 /* Protocol error. */
> #if __BSD_VISIBLE
> -#define ELAST 91 /* Must be equal largest errno */
> +#define ELAST 95 /* Must be equal largest errno */
> #endif /* __BSD_VISIBLE */
>
> #ifdef _KERNEL
>
> --
> jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE
>
>