Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 May 1998 17:50:18 +1000 (EST)
From:      John Birrell  <jb@cimlogic.com.au>
To:        julian@whistle.com (Julian Elischer)
Cc:        current@FreeBSD.ORG
Subject:   Re: Undefined symbol "___error"
Message-ID:  <199805140750.RAA25054@cimlogic.com.au>
In-Reply-To: <Pine.BSF.3.95.980514001109.11116F-100000@current1.whistle.com> from Julian Elischer at "May 14, 98 00:12:04 am"

index | next in thread | previous in thread | raw e-mail

Julian Elischer wrote:
> I don't understand why the old errno can't continue to exist and be
> updated by all syscalls.
> (just for compatibility for now)

It *does* continue to exist. For backward compatibility it is used
by the initial thread. This allows you to link against old libraries
that have 'extern int errno'. These old libraries will never be thread
aware. For new compiles, though, the old errno variable is hidden.

If thread A calls stat() on a file that doesn't exist and thread B calls
remove on a file that it doesn't have permission to delete and these
happen at much the same time, they have to use difference errno variables.

-- 
John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/
CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message


help

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