[Python-Dev] Re: RELEASED Python 2.3.1

"Martin v. Löwis" martin at v.loewis.de
Sat Sep 27 12:30:45 EDT 2003

Charles Cazabon wrote:
> os.fsync() breakage is a /big/ problem, particularly because the resulting
> traceback makes users think the application is broken, not the interpreter.

It's not broken: it's absent. In a sense, the application /is/ broken, 
as it should have dealt with os.fsync being absent in the first place.

Applications should be prepared that POSIX functions are not available 
in Python even if the C library provides them on the system, as the 
system headers may fail to declare a prototype for the function (a 
problem which triggered that erroneous change in 2.3.1 in the first 
place). Python is taking the address of fsync, so merely having the 
function in the C library is not enough, nor is it to define fsync as a 
function-style macro. In either case, os.fsync will be rightfully absent.

FWIW, it was a Redhat system that failed to provide a fsync prototype.


More information about the Python-Dev mailing list