replace direct calls to unlink(2) with unlink_or_warn
This helps to notice when something's going wrong, especially on systems which lock open files. I used the following criteria when selecting the code for replacement: - it was already printing a warning for the unlink failures - it is in a function which already printing something or is called from such a function - it is in a static function, returning void and the function is only called from a builtin main function (cmd_) - it is in a function which handles emergency exit (signal handlers) - it is in a function which is obvously cleaning up the lockfiles Signed-off-by: Alex Riesen <raa.lkml@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
fc71db39e0
commit
691f1a28bf
12
http-push.c
12
http-push.c
@ -315,9 +315,9 @@ static void start_fetch_loose(struct transfer_request *request)
|
||||
"%s.temp", filename);
|
||||
|
||||
snprintf(prevfile, sizeof(prevfile), "%s.prev", request->filename);
|
||||
unlink(prevfile);
|
||||
unlink_or_warn(prevfile);
|
||||
rename(request->tmpfile, prevfile);
|
||||
unlink(request->tmpfile);
|
||||
unlink_or_warn(request->tmpfile);
|
||||
|
||||
if (request->local_fileno != -1)
|
||||
error("fd leakage in start: %d", request->local_fileno);
|
||||
@ -372,7 +372,7 @@ static void start_fetch_loose(struct transfer_request *request)
|
||||
} while (prev_read > 0);
|
||||
close(prevlocal);
|
||||
}
|
||||
unlink(prevfile);
|
||||
unlink_or_warn(prevfile);
|
||||
|
||||
/* Reset inflate/SHA1 if there was an error reading the previous temp
|
||||
file; also rewind to the beginning of the local file. */
|
||||
@ -784,7 +784,7 @@ static void finish_request(struct transfer_request *request)
|
||||
request->http_code != 416) {
|
||||
if (stat(request->tmpfile, &st) == 0) {
|
||||
if (st.st_size == 0)
|
||||
unlink(request->tmpfile);
|
||||
unlink_or_warn(request->tmpfile);
|
||||
}
|
||||
} else {
|
||||
if (request->http_code == 416)
|
||||
@ -793,9 +793,9 @@ static void finish_request(struct transfer_request *request)
|
||||
git_inflate_end(&request->stream);
|
||||
git_SHA1_Final(request->real_sha1, &request->c);
|
||||
if (request->zret != Z_STREAM_END) {
|
||||
unlink(request->tmpfile);
|
||||
unlink_or_warn(request->tmpfile);
|
||||
} else if (hashcmp(request->obj->sha1, request->real_sha1)) {
|
||||
unlink(request->tmpfile);
|
||||
unlink_or_warn(request->tmpfile);
|
||||
} else {
|
||||
request->rename =
|
||||
move_temp_to_file(
|
||||
|
Reference in New Issue
Block a user