Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Feb 2005 12:15:59 -1000
From:      Julian Cowley <julian@lava.net>
To:        "M. Warner Losh" <imp@bsdimp.com>
Cc:        dmw@unete.cl
Subject:   Re: [Hackers] Re: any way to reset errno?
Message-ID:  <4206971F.1020005@lava.net>
In-Reply-To: <20050206.142319.22504831.imp@bsdimp.com>
References:  <20050206132124.GA746@daemon.unete.cl> <20050206.142319.22504831.imp@bsdimp.com>

next in thread | previous in thread | raw e-mail | index | archive | help
M. Warner Losh wrote:
> In message: <20050206132124.GA746@daemon.unete.cl>
>             Daniel Molina Wegener <dmw@unete.cl> writes:
> :    Any way to reset errno?
> 
> errno = 0;
> 
> Routines that return an error status in errno generally don't set it
> to 0 to mean no error.

Which implies errno should never need to be set to zero since the 
convention is to only look at errno if a system call fails.  The only 
time errno needs to be explicitly set (to any value) is when preserving 
the error value between system calls.  Such as:

if (write(fd, buf, len) < 0) {
	int saved_errno;

	saved_errno = errno;
	close(fd); /* ignore any error */
	errno = saved_errno;
	return -1;
}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4206971F.1020005>