• Show log

    Commit

  • Hash : 8a2834d3
    Author : Russell Belfer
    Date : 2014-03-14T13:20:51

    Index locking and entry allocation changes
    
    This makes the lock management on the index a little bit broader,
    having a number of routines hold the lock across looking up the
    item to be modified and actually making the modification.  Still
    not true thread safety, but more pure index modifications are now
    safe which allows the simple cases (such as starting up a diff
    while index modifications are underway) safe enough to get the
    snapshot without hitting allocation problems.
    
    As part of this, I simplified the allocation of index entries to
    use a flex array and just put the path at the end of the index
    entry.  This makes every entry self-contained and makes it a
    little easier to feel sure that pointers to strings aren't
    being accidentally copied and freed while other references are
    still being held.