aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/concurrent
Commit message (Collapse)AuthorAge
...
* Fix very minor concurrency issue in AQV. 'unhandled' doesn't have memory ↵Gravatar Nathan Harmata2015-09-16
| | | | | | | visibility from other threads, so we may end up storing the non-first unhandled exception and/or decline to not run new tasks because we don't realize there already is an unhandled exception. -- MOS_MIGRATED_REVID=103127733
* Add a new KeyedLocker, StripedKeyedLocker. This new implementation simply ↵Gravatar Eric Fellheimer2015-09-03
| | | | | | | stores a striped set of reentrant locks. -- MOS_MIGRATED_REVID=102198213
* Increase number of stripes in our keyed locker.Gravatar Eric Fellheimer2015-08-18
| | | | | -- MOS_MIGRATED_REVID=100843669
* Delete Batch locking, which is unused as of this CL.Gravatar Eric Fellheimer2015-08-12
| | | | | -- MOS_MIGRATED_REVID=100399962
* Use Multiset#remove(object, int) to avoid having to query the count after ↵Gravatar Nathan Harmata2015-08-11
| | | | | | | removing the key. -- MOS_MIGRATED_REVID=100314916
* Add threadpool injectability to invalidatorGravatar Mark Schaller2015-08-06
| | | | | -- MOS_MIGRATED_REVID=99961435
* Rollback of commit 6f049bb19941b89d16364b26cca66aae09f9cb42.Gravatar Nathan Harmata2015-06-26
| | | | | | | | | | | | | *** Reason for rollback *** Ended up not being necessary; I was able to rephrase things using SettableFuture instead. *** Original change description *** Introduce a simple concurrent Multimap-like data structure with reference counting. -- MOS_MIGRATED_REVID=96884190
* Renaming ExecutorShutdownUtil to ExecutorUtil, since it doesn't just do ↵Gravatar Eric Fellheimer2015-06-19
| | | | | | | shutdown operations. -- MOS_MIGRATED_REVID=96351438
* Introduce a simple concurrent Multimap-like data structure with reference ↵Gravatar Nathan Harmata2015-06-16
| | | | | | | counting. -- MOS_MIGRATED_REVID=96024804
* Change getBatch signature from Set to Iterable since Iterable is all that's ↵Gravatar Janak Ramakrishnan2015-04-30
| | | | | | | needed. Also clean up some lint warnings/unresolved references. -- MOS_MIGRATED_REVID=92380618
* Introduce KeyedLocker#lockBatch, which does what it sounds like it does.Gravatar Nathan Harmata2015-04-06
| | | | | -- MOS_MIGRATED_REVID=90282858
* Some minor improvements to KeyedLocker:Gravatar Nathan Harmata2015-04-03
| | | | | | | | | | | (i) Change the semantics of KeyedLocker.AutoUnlocker#close such that it can be called at most once per AutoUnlocker instance. (ii) Change KeyedLocker.AutoUnlocker#close to throw a IllegalUnlockException (RuntimeException) on error, rather than leave the behavior intentionally underspecified. (iii) explicitly mention in AutoLocker#lock that a thread can call lock(k) multiple times before unlocking. Combined with (i), this implies that KeyedLocker#lock implementations will want to return fresh AutoUnlocker instances. These semantics are bit nicer to use anyway, but I also want them because I will soon be introducing KeyedLocker#lockBatch, and it's much easier to specify that given the above. -- MOS_MIGRATED_REVID=90259645
* Introduce KeyedLocker, a nice concurrency abstraction for managing lots of ↵Gravatar Nathan Harmata2015-03-10
| | | | | | | mutexes, and RefCountedMultisetKeyedLocker, an efficient implementation of this abstraction. -- MOS_MIGRATED_REVID=88000985
* Update from Google.Gravatar Han-Wen Nienhuys2015-02-25
-- MOE_MIGRATED_REVID=85702957