From eb90f443fcfb4e1a7114b21e99a8e1e36f35efe1 Mon Sep 17 00:00:00 2001 From: millert Date: Mon, 19 Jan 2015 21:29:38 +0000 Subject: [PATCH] Talk about thread-local errno and do not mention "extern int errno". Also correct the string version of error 0. OK guenther@ --- lib/libc/sys/intro.2 | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/libc/sys/intro.2 b/lib/libc/sys/intro.2 index 803bf811e1a..21bd61a0360 100644 --- a/lib/libc/sys/intro.2 +++ b/lib/libc/sys/intro.2 @@ -1,4 +1,4 @@ -.\" $OpenBSD: intro.2,v 1.57 2015/01/19 13:59:16 millert Exp $ +.\" $OpenBSD: intro.2,v 1.58 2015/01/19 21:29:38 millert Exp $ .\" $NetBSD: intro.2,v 1.6 1995/02/27 12:33:41 cgd Exp $ .\" .\" Copyright (c) 1980, 1983, 1986, 1991, 1993 @@ -46,18 +46,19 @@ their error returns, and other common definitions and concepts. .\".Pp .\" .Sh DIAGNOSTICS -Nearly all of the system calls provide an error number in the external -variable -.Va errno , -which is currently defined as: -.Pp -.Dl extern int errno; -.Pp -Portable applications must not depend on this definition, and should only -use +Nearly all of the system calls provide an error number via the identifier +.Dv errno , +which expands to an addressable location of type +.Vt int . +The address of +.Va errno +in each thread is guaranteed to be unique for the lifetime of the thread. +Applications must use .Va errno as defined in -.In errno.h . +.In errno.h +and not attempt to use a custom definition. +.Pp When a system call detects an error, it returns an integer value indicating failure (usually \-1) and sets the variable .Va errno @@ -76,7 +77,7 @@ The following is a complete list of the errors and their names as given in .In sys/errno.h . .Bl -hang -width Ds -.It Er 0 Em "Error 0" . +.It Er 0 Em "Undefined error: 0" . Not used. .It Er 1 EPERM Em "Operation not permitted" . An attempt was made to perform an operation limited to processes -- 2.20.1