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
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user