On Thu, May 15, 2008 at 10:21 PM, Matthew Toseland <toad at amphibian.dyndns.org> wrote: > On Sunday 11 May 2008 18:05, j16sdiz at freenetproject.org wrote: >> Author: j16sdiz >> Date: 2008-05-11 17:05:03 +0000 (Sun, 11 May 2008) >> New Revision: 19897 >> >> Modified: >> > branches/saltedhashstore/freenet/src/freenet/store/SaltedHashFreenetStore.java >> Log: >> Fix datastore resize >> >> > ... >> - try { >> + boolean[] locked = new >> boolean[newOffset.length]; >> + try { >> + // Lock all possible slots >> first >> + for (int i = 0; i < >> newOffset.length; i++) { >> + if >> (lockEntry(newOffset[i])) { // lock >> + locked[i] = >> true; >> + } else if (shutdown) { >> // oops >> + return; >> + } >> + } > > At what point are these unlocked?
finally{} block here: >> + } finally { >> + // unlock all entries >> + for (int i = 0; i < >> newOffset.length; i++) { >> + if (locked[i]) { >> + >> unlockEntry(newOffset[i]); >> + } >> + } >> }