void FilterOut(RecentItemPredicate pred) { //ObtainLock (); lock (writerLock) { //try { bool filteredSomething = false; List <RecentItem> store = ReadStore(0); if (store != null) { for (int i = 0; i < store.Count; ++i) { if (pred(store[i])) { store.RemoveAt(i); filteredSomething = true; --i; continue; } } if (filteredSomething) { WriteStore(store); } } /*} finally { * ReleaseLock (); * }*/ } }
void FilterOut (RecentItemPredicate pred) { //ObtainLock (); lock (writerLock) { //try { bool filteredSomething = false; List<RecentItem> store = ReadStore (0); if (store != null) { for (int i = 0; i < store.Count; ++i) { if (pred (store[i])) { store.RemoveAt (i); filteredSomething = true; --i; continue; } } if (filteredSomething) WriteStore (store); } /*} finally { ReleaseLock (); }*/ } }