diff options
author | Junio C Hamano <gitster@pobox.com> | 2021-10-04 07:49:18 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2021-10-04 07:49:18 +0300 |
commit | 92382d14cd4146ad05e891a529ed3ce5822d11f7 (patch) | |
tree | 2cfb94e9e9651ce865fc9885c5f909196552d9a0 /refs/debug.c | |
parent | 842d45d293a25b3e1818658710af4111b771f244 (diff) | |
parent | 5b12e16bb134969747eaa983ab8d83d57f41e960 (diff) |
Merge branch 'hn/refs-errno-cleanup'
Futz with the way 'errno' is relied on in the refs API to carry the
failure modes up the call chain.
* hn/refs-errno-cleanup:
refs: make errno output explicit for read_raw_ref_fn
refs/files-backend: stop setting errno from lock_ref_oid_basic
refs: remove EINVAL errno output from specification of read_raw_ref_fn
refs file backend: move raceproof_create_file() here
Diffstat (limited to 'refs/debug.c')
-rw-r--r-- | refs/debug.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/refs/debug.c b/refs/debug.c index bf4a82bccb..8667c64023 100644 --- a/refs/debug.c +++ b/refs/debug.c @@ -239,15 +239,14 @@ debug_ref_iterator_begin(struct ref_store *ref_store, const char *prefix, static int debug_read_raw_ref(struct ref_store *ref_store, const char *refname, struct object_id *oid, struct strbuf *referent, - unsigned int *type) + unsigned int *type, int *failure_errno) { struct debug_ref_store *drefs = (struct debug_ref_store *)ref_store; int res = 0; oidcpy(oid, null_oid()); - errno = 0; res = drefs->refs->be->read_raw_ref(drefs->refs, refname, oid, referent, - type); + type, failure_errno); if (res == 0) { trace_printf_key(&trace_refs, "read_raw_ref: %s: %s (=> %s) type %x: %d\n", @@ -255,7 +254,7 @@ static int debug_read_raw_ref(struct ref_store *ref_store, const char *refname, } else { trace_printf_key(&trace_refs, "read_raw_ref: %s: %d (errno %d)\n", refname, - res, errno); + res, *failure_errno); } return res; } |