Exemplo n.º 1
0
        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 ();
			}*/
			}
		}