[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