close_lock_file(): new function in the lockfile API
authorBrandon Casey <casey@nrlssc.navy.mil>
Wed, 16 Jan 2008 19:05:32 +0000 (11:05 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 16 Jan 2008 23:35:03 +0000 (15:35 -0800)
commitd6cf61bfd4bccffcc8b095f8469dbe749d70abdf
tree4f330d67ce37d7319494e8f8a71005f4d733c2e0
parent0c0478cac87991bd555e81715e9332d11eecd881
close_lock_file(): new function in the lockfile API

The lockfile API is a handy way to obtain a file that is cleaned
up if you die().  But sometimes you would need this sequence to
work:

 1. hold_lock_file_for_update() to get a file descriptor for
    writing;

 2. write the contents out, without being able to decide if the
    results should be committed or rolled back;

 3. do something else that makes the decision --- and this
    "something else" needs the lockfile not to have an open file
    descriptor for writing (e.g. Windows do not want a open file
    to be renamed);

 4. call commit_lock_file() or rollback_lock_file() as
    appropriately.

This adds close_lock_file() you can call between step 2 and 3 in
the above sequence.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/technical/api-lockfile.txt
cache.h
lockfile.c