[Python-Dev] Assign to errno allowed?
Brad Clements
bkc@murkworks.com
Tue, 24 Sep 2002 12:43:13 -0400
On 24 Sep 2002 at 12:31, Tim Peters wrote:
> > I would like to remind folks that on some platforms, one cannot
> > just use "errno = 0". On those platforms calling a function is
> > required to set errno.
>
> Except that errno=0 works fine on any platform with a standard-
> conforming C implementation, and this isn't even a fuzzy POSIX issue --
> it's a requirement of the C standard. We can define piles of macros
> instead, but I expect that, as the years drag on, people will "forget"
> to use them.
I don't argue the point that "this stinks".
What are our choices:
1. CE port will always be a distinct branch/other cvs, and require gobs of work by "CE
porters" for every new core release, changing all the "errno" statements
2. CE changes will always be a pain in the butt for core developers forced to remember
Py_SetErrno()
3. No CE port.
(oh, also put "NetWare" in there wherever you see the word CE .. and I suspect some
other embedded operating systems running on MMU-less processors that can't
virtualize errno and don't have TLS)
Surprisingly, there aren't that many modules that reference errno directly.
In fact, the math stuff is the worst offender .. ;-)
Brad Clements, bkc@murkworks.com (315)268-1000
http://www.murkworks.com (315)268-9812 Fax
AOL-IM: BKClements