aboutsummaryrefslogtreecommitdiff
path: root/src/thread_pool.cpp
Commit message (Expand)AuthorAgeFilesLines
* Mock out TSAN_* usage in thread_pool.cppgingerBill13 days1-0/+14
* spin in recursive mutex lock; use compare exchange for broadcastLucas Perlind2025-09-241-6/+14
* Add the permanent and temporary arenas directly on the `Thread`gingerBill2024-07-151-1/+4
* Fix styling issuesgingerBill2024-07-141-19/+20
* move to isizeColin Davidson2024-07-141-9/+9
* handle steal-fail vs steal-emptyColin Davidson2024-07-141-12/+24
* move to a growing queueColin Davidson2024-07-131-39/+73
* Fix minor possible race conditiongingerBill2023-01-161-7/+6
* Use `RwMutex` for the `Scope`gingerBill2023-01-031-14/+13
* General improves to `alloc_ast_node` and other unnecessary checksgingerBill2023-01-031-3/+3
* Narrow global `gen_procs_mutex` furthergingerBill2023-01-021-1/+1
* Comment out many mutex guards in `type_(size|align)_of_internal`gingerBill2023-01-021-11/+10
* Fix pool runninggingerBill2023-01-021-2/+4
* Remove some unneeded checksgingerBill2023-01-021-1/+3
* Minor clean up of thread pool codegingerBill2023-01-021-9/+6
* Remove use of queues for procedure checking.gingerBill2023-01-021-0/+4
* Minor style changegingerBill2023-01-021-4/+2
* Replace condition+mutex with futexgingerBill2023-01-021-38/+34
* Remove the synchronization primitive init/destroy callsgingerBill2023-01-011-5/+0
* Unify compiler `Futex` interfacegingerBill2023-01-011-3/+3
* move to work-stealing threadpoolColin Davidson2022-12-281-109/+143
* Move `mutex` use around in thread poolgingerBill2022-12-201-4/+3
* Combine join and destroy for threadsgingerBill2022-12-201-7/+2
* Remove need for `semaphore` in `Thread`gingerBill2022-12-201-6/+1
* Clarify ThreadPool interface; Move `import_mutex` guarding to just the string...gingerBill2022-12-201-0/+12
* `gb_internal` a lotgingerBill2022-12-181-10/+10
* Improve usage of `file_id`gingerBill2021-11-151-1/+1
* Add mutex around `condition_broadcast`gingerBill2021-08-261-0/+6
* Correct race condition and incorrect usage of `condition_signal` outside of a...gingerBill2021-08-261-1/+1
* Simplify logic for `-thread-count:1`gingerBill2021-08-261-0/+8
* Unify thread pool logic across the rest of the compiler, using a global threa...gingerBill2021-08-261-25/+46
* Improved `ThreadPool` implementationgingerBill2021-08-261-60/+102
* Remove unneeded +1 for `outstanding_task_count`gingerBill2021-08-261-3/+0
* Thread pool: create threads in thread_pool_waitnakst2021-08-231-4/+6
* thread_pool.cpp: fix with 1 thread; gb.h: remove buggy /proc/cpuinfo codenakst2021-08-231-22/+16
* Make `ThreadPool` use `std::atomic` and `heap_allocator()`gingerBill2021-08-221-18/+8
* Thread pool fix on Win32nakst2021-08-221-1/+5
* Rewrite thread_pool.cppnakst2021-08-221-132/+65
* Make `ThreadPool.is_running` atomicgingerBill2021-08-191-6/+6
* Migrate and remove more from gb.hgingerBill2021-08-191-13/+13
* Move more of `gb.h`'s Synchronization code into common.cppgingerBill2021-08-191-15/+15
* Correct mutex usage for `path_to_fullpath`; make `ThreadPool` use `BlockingMu...gingerBill2021-08-181-10/+10
* Simplify `thread_pool_wait_to_process`gingerBill2021-07-101-0/+7
* Move things around for sanity checking for multithread preparationgingerBill2021-07-101-30/+10
* Nearly approach full functionality for -use-separate-modules coupled with mul...gingerBill2021-05-041-3/+0
* Clean up thread pool codegingerBill2019-09-031-58/+56
* Fix semaphore postinggingerBill2019-09-031-3/+10
* Improve thread pool (volatile hints, etc)gingerBill2019-09-021-17/+40
* Remove thread naming on thread poolgingerBill2019-09-011-0/+2
* Remove custom allocator for thread poolgingerBill2019-09-011-17/+2