bug-gnulib
[Top][All Lists]
Advanced

[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 17:04:20 -0400
User-agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130307 Thunderbird/17.0.4

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 3/13/2013 12:03 PM, Eric Blake wrote:
> Libvirt depends on fsync(), as provided by gnulib, returning EBADF
> on invalid fds.  It logs fsync() failures, and such logs have
> proven invaluable in detecting double-close bugs, in order to
> eradicate those bugs from libvirt.  Crippling gnulib's fsync() to
> ignore failure on invalid fds would be one less point of error
> detection, and we have already proven, at least in libvirt, that
> maximal checking during development is useful for increasing the
> chances of avoiding a double-close bug from going undetected into a
> formal release.

Yes, it is a *nice* diagnostic to have when debugging ( and you're
probably not going to be using eatmydata at that time ), but correct
functioning of the application does not *require* it.  Hence,
asserting that it functions seems overboard.

In a similar manner, it is *nice* that the debug libc's malloc can
detect a double free, but you shouldn't complain when you link to the
non debug libc and it doesn't do this.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.17 (MingW32)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJRQOnUAAoJEJrBOlT6nu75uocIAMsWMYQxFtYNTPtxnEBRUL5U
2UH5Kjl8pqmmXmU6hObcZpPhQIJe9wX23vHosi5zyCOqCN3Ggzh3v1tEzvt2W0Gr
I355z/avxN5lgX+z4TGYj09nAewpZqTeLM1v5Py/xZWlMJ1WFfgWoqfZU5rhwV+w
DDPKGKDWlIWnJktotvrjFG0BnoMHlPjAIfHVMETTtG2c1aX/8fyhPSNiVWuXPDLL
nqID1VnI36hqRyOc53oNwDWe+EJnjlzlK2sCEP8ROXO+yLNwqqGWxd89isNwCfXm
/06VrTpQLAVsjKrJlfZ/dzKsTmmTMVsD7hgEwYUCsYum+ABYoeHCqZYQRR6GmVA=
=sEYm
-----END PGP SIGNATURE-----



reply via email to

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