summaryrefslogtreecommitdiff
path: root/lib/git/async/thread.py
Commit message (Collapse)AuthorAgeFilesLines
* Moved pool utilities into util module, fixed critical issue that caused ↵Sebastian Thiel2010-06-071-7/+9
| | | | havok - lets call this a safe-state
* added high-speed locking facilities, allowing our Queue to be faster, at ↵Sebastian Thiel2010-06-071-3/+0
| | | | least in tests, and with multiple threads. There is still an sync bug in regard to closed channels to be fixed, as the Task.set_done handling is incorrecft
* Added task order cache, and a lock to prevent us walking the graph while ↵Sebastian Thiel2010-06-071-1/+2
| | | | | | changing tasks Now processing more items to test performance, in dual-threaded mode as well, and its rather bad, have to figure out the reason for this, probably gil, but queues could help
* pool.consumed_tasks: is now a queue to be thread safe, in preparation for ↵Sebastian Thiel2010-06-071-0/+5
| | | | | | multiple connected pools Reduced waiting time in tests to make them complete faster
* pool: First version which works as expected in async mode. Its just using a ↵Sebastian Thiel2010-06-071-34/+9
| | | | single task for now, but next up are dependent tasks
* First step of testing the pool - tasks have been separated into a new module ↵Sebastian Thiel2010-06-061-2/+7
| | | | including own tests, their design improved to prepare them for some specifics that would be needed for multiprocessing support
* thread: adjusted worker thread not to provide an output queue anymore - this ↵Sebastian Thiel2010-06-061-22/+5
| | | | | | | is handled by the task system graph: implemented it including test according to the pools requirements pool: implemented set_pool_size
* Renamed mp to async, as this is a much better name for what is actually ↵Sebastian Thiel2010-06-051-0/+203
going on. The default implementation uses threads, which ends up being nothing more than async, as they are all locked down by internal and the global interpreter lock