[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug: tests/fsync.c: don't check for fsync failure on invalid fd

From: Phillip Susi
Subject: Re: Bug: tests/fsync.c: don't check for fsync failure on invalid fd
Date: Wed, 13 Mar 2013 20:59:20 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130105 Thunderbird/17.0.2

Hash: SHA1

On 03/13/2013 06:55 PM, Paul Eggert wrote:
> No, it's not similar.  POSIX says that a double free has undefined
> behavior so an implementation can do what it likes. In contrast,
> POSIX says that fsync (-1) must return -1 and set errno; an
> implementation is not free to do what it likes, and cannot return
> 0.
> I don't see this as a major issue.  libeatmydata is not a porting
> target for gnulib or for GNU applications in general. If it doesn't
> work, it doesn't work; it's no big deal.

It is a big deal for people trying to accelerate build servers, and
suddenly applications that use gnulib fail to build.  Standards are
never followed to the letter.  It is gnulib's job to detect variations
and deal with them.  Applications are not at all served by failing to
build because some minutia of the posix standard they don't care about
is not followed.

At worst, gnulib should set a flag that applications can check for if
they really depend on this behavior, so that those that don't (
everyone? ) won't fail to build.  For that matter, applications that
depend on this really should be testing it at runtime rather than
build time, as the behavior is likely to change.

I would have a lot more sympathy for the notion that gnulib doesn't
want to be bothered by this if this test were actually useful for
anyone, but when nobody really cares about this behavior, it is a
useless test for gnulib to be doing.  Complaining about standards
compliance just for standards' sake when it makes no difference either
way is silly.

Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]