bug-automake
[Top][All Lists]
Advanced

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

bug#11377: configure.am - fails to remove configure before attempting re


From: Eric Blake
Subject: bug#11377: configure.am - fails to remove configure before attempting replacement
Date: Thu, 03 May 2012 16:22:31 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120424 Thunderbird/12.0

On 05/03/2012 04:09 PM, Ronald F. Guilmette wrote:
> 
> The only problem with the approach outlined above is that sometimes (rarely)
> some Makefiles and/or other tools used as part of a build process (e.g.
> automake) may occasionally make the assumption that every regular file
> within the current (build) tree is writable, and that thus, when one of these
> tools is about to perform some operation that will attempt to effectively
> over-write some such file, the over-write can be performed _without_ first
> deleting the file in question.

Nothing against your style of coding, but I do want to point out that
recommending anyone delete a file before rebuilding its contents is
racy.  If things crash in the middle, you can be left without the file,
or with a file with incomplete contents.  It is always better to
recommend a style of atomic changes - make your target file in a
temporary location (generally in the same directory as the destination),
then use an atomic rename() to overwrite the original file with the
updated file in one go.

> 
> I want to reemphasize what I just said.  Removing a given regular file before
> attempting some operation that is intended to fully replace the contents of
> that file is a simple and altogether reasonable precaution... 

I want to reemphasize what I just said - removing a given regular file
before rebuilding it is prone to awful surprises when your build process
is interrupted unexpectedly.  Always write to a temporary name and then
use mv to move it into place, for the best safety.

-- 
Eric Blake   address@hidden    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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