git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Haggerty <mhagger@alum.mit.edu>
To: Ronnie Sahlberg <sahlberg@google.com>, git@vger.kernel.org
Subject: Re: [PATCH 11/11] walker.c: use ref transaction for ref updates
Date: Sat, 19 Apr 2014 21:48:42 +0200	[thread overview]
Message-ID: <5352D31A.6000107@alum.mit.edu> (raw)
In-Reply-To: <1397763987-4453-12-git-send-email-sahlberg@google.com>

On 04/17/2014 09:46 PM, Ronnie Sahlberg wrote:
> Switch to using ref transactions in walker_fetch(). As part of the refactoring
> to use ref transactions we also fix a potential memory leak where in the
> original code if write_ref_sha1() would fail we would end up returning from
> the function without free()ing the msg string.

I don't have time to review this last patch this evening, but one thing
struck me.  It seems like the old code went to extra effort to lock all
the write_ref references early in the function, whereas your modified
version doesn't lock them until later.  Have you verified that you are
not opening a possible race condition?  If so, your commit message
should justify that it isn't a problem.  In other words, what does the
code do between the old time of locking and the new time of locking and
why doesn't it care whether the references are locked?

Aside from my other comments, patches 01-10 in the series looked fine.
Thanks!

Michael

-- 
Michael Haggerty
mhagger@alum.mit.edu
http://softwareswirl.blogspot.com/

  reply	other threads:[~2014-04-19 19:48 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-17 19:46 [PATCH 00/11] Use ref transactions from most callers Ronnie Sahlberg
2014-04-17 19:46 ` [PATCH 01/11] refs.c: constify the sha arguments for ref_transaction_create|delete|update Ronnie Sahlberg
2014-04-19 18:56   ` Michael Haggerty
2014-04-17 19:46 ` [PATCH 02/11] refs.c: change ref_transaction_update() to do error checking and return status Ronnie Sahlberg
2014-04-19 18:55   ` Michael Haggerty
2014-04-25 21:32   ` Jonathan Nieder
2014-04-17 19:46 ` [PATCH 03/11] refs.c: change ref_transaction_create " Ronnie Sahlberg
2014-04-19 18:59   ` Michael Haggerty
2014-04-17 19:46 ` [PATCH 04/11] refs.c: ref_transaction_delete to check for error " Ronnie Sahlberg
2014-04-19 19:00   ` Michael Haggerty
2014-04-17 19:46 ` [PATCH 05/11] tag.c: use ref transactions when doing updates Ronnie Sahlberg
2014-04-19 19:12   ` Michael Haggerty
2014-04-17 19:46 ` [PATCH 06/11] replace.c: use the ref transaction functions for updates Ronnie Sahlberg
2014-04-19 19:14   ` Michael Haggerty
2014-04-17 19:46 ` [PATCH 07/11] commit.c: use ref transactions " Ronnie Sahlberg
2014-04-19 19:23   ` Michael Haggerty
2014-04-21 18:45     ` Ronnie Sahlberg
2014-04-17 19:46 ` [PATCH 08/11] sequencer.c: use ref transactions for all ref updates Ronnie Sahlberg
2014-04-17 19:46 ` [PATCH 09/11] fast-import.c: change update_branch to use ref transactions Ronnie Sahlberg
2014-04-17 19:46 ` [PATCH 10/11] branch.c: use ref transaction for all ref updates Ronnie Sahlberg
2014-04-17 19:46 ` [PATCH 11/11] walker.c: use ref transaction for " Ronnie Sahlberg
2014-04-19 19:48   ` Michael Haggerty [this message]
2014-04-21 21:26     ` Junio C Hamano
2014-04-21 22:29     ` Ronnie Sahlberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5352D31A.6000107@alum.mit.edu \
    --to=mhagger@alum.mit.edu \
    --cc=git@vger.kernel.org \
    --cc=sahlberg@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).