Thread (13 messages) flat view 13 messages, 3 authors, 2016-06-15

Re: [PATCH 2/5] refs.c: return error instead of dying when locking fails during transaction

From: Ronnie Sahlberg <hidden>
Date: 2016-06-15 23:02:03

On Fri, Jul 25, 2014 at 12:40 PM, Jonathan Nieder [off-list ref] wrote:
Ronnie Sahlberg wrote:
quoted
--- a/refs.c
+++ b/refs.c
@@ -2214,7 +2214,7 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,
                       */
                      goto retry;
              else
-                     unable_to_lock_index_die(ref_file, errno);
+                     goto error_return;
Should probably save last_errno so error_return can pass that
information back.
Done. Thanks.
Can the caller recover from this error?  Does it have enough information
to produce the same helpful message as unable_to_lock_index_die?

If this could be done without regressing behavior (e.g., by passing
back error information as a message instead of through errno) then I
think it would make sense.
The callers should all be able to cope with this returning error (and
now logging error() since this function is only called from within
transaction_commit() and it knows how to deal with these errors.

Jonathan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help