On 07/27/2011 01:52 PM, Jim Meyering wrote:
Thanks for the report and suggestion.
While the gnulib patch Pádraig referred to makes it so
fclose would no longer be required, we do want to use that module
to ensure we get a working replacement for the buggy fclose on at
least two relatively common systems:
From e2bd7a288f4b4b0ac99350f3c6ac10cd97abf9a6 Mon Sep 17 00:00:00 2001
From: Jim Meyering<[email protected]>
Date: Wed, 27 Jul 2011 21:48:59 +0200
Subject: [PATCH] build: require gnulib's fclose module
* bootstrap.conf (gnulib_modules): Explicitly use the fclose module.
This is required, now that gnulib's close module no longer depends
on fclose. This fixes fclose bugs affecting at least glibc 2.13
and FreeBSD. Reported by Bernhard Voelker. Suggested by Eric Blake.
By the way, glibc 2.14 caused a regression in fclose() - it fixed one
bug, but introduced another (calling fclose() now ends up blindly using
lseek() on the underlying file description back to the stream position,
even if the stream was not used for I/O, in violation of POSIX) - I
expect more gnulib workarounds to fix the glibc 2.14 bug in the near future:
http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00437.html
So that's all the more reason to include this patch.
--
Eric Blake [email protected] +1-801-349-2682
Libvirt virtualization library http://libvirt.org