[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