Commit graph

173 commits

Author SHA1 Message Date
b7117c09b3 Merge branch 'master' into cxx17
All checks were successful
Run UnitTests / build-and-run-unittests (push) Successful in 39s
2024-01-20 19:45:14 +09:00
7636f89c82 Enable tests on "any_archLinux" act runners
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Run UnitTests / build-and-run-unittests (push) Successful in 15s
2024-01-20 19:44:48 +09:00
f6fa8a6173 Merge branch 'master' into cxx17
All checks were successful
Run UnitTests / build-and-run-unittests (push) Successful in 14s
2024-01-20 19:21:39 +09:00
ad933b157b Revert "Enable another act runner for unit tests"
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Run UnitTests / build-and-run-unittests (push) Successful in 17s
This reverts commit 654ddac943.
2024-01-20 19:20:40 +09:00
107c1094c9 Merge branch 'master' into cxx17
Some checks are pending
Run UnitTests / build-and-run-unittests (push) Waiting to run
2024-01-20 18:00:53 +09:00
654ddac943 Enable another act runner for unit tests
Some checks are pending
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Run UnitTests / build-and-run-unittests (push) Waiting to run
2024-01-20 18:00:25 +09:00
7894955ff5 Merge branch 'master' into cxx17
All checks were successful
Run UnitTests / build-and-run-unittests (push) Successful in 14s
2024-01-19 15:21:45 +09:00
599ebca196 Add github action to run UnitTests
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
Run UnitTests / build-and-run-unittests (push) Successful in 13s
2024-01-17 19:23:11 +09:00
222639ec3a Update CMakeLists.txt cmake version
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
Run UnitTests / build-and-run-unittests (push) Successful in 13s
2024-01-17 19:02:51 +09:00
0b0c1eb213 Add forgejo action to run unit tests
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Run UnitTests / build-and-run-unittests (push) Successful in 14s
2024-01-17 18:57:29 +09:00
a3cd26f529 Update README.md
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
2024-01-15 13:56:49 +09:00
6c03859cf1 Add forgejo action to generate doxygen docs
All checks were successful
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
2024-01-15 13:55:34 +09:00
bc23918637 Merge branch 'master' into cxx17 2022-06-17 11:02:36 +09:00
57101d283d Update LICENSE year 2022-06-17 11:02:24 +09:00
6a4be98216 Use optional instead of unique_ptr in ThreadPool 2022-06-16 14:09:56 +09:00
3e6fd6c1a5 Merge branch 'master' into cxx17 2022-06-16 14:01:26 +09:00
cc95c9758e Merge branch 'nested_threads' 2022-06-16 13:42:52 +09:00
033a455e3e clang-format EC/ThreadPool.hpp 2022-06-16 13:39:26 +09:00
b4b0802e7c Apply minor fix and documentation to ThreadPool 2022-06-16 13:39:05 +09:00
2745362e41 Reformat EC/Manager.hpp 2022-06-16 13:27:43 +09:00
6e07bb1877 Undo change of temporary struct in Manager 2022-06-16 13:26:06 +09:00
c245b438a7 Remove zero-ing of atomic_uint in ThreadPool
Setting the current "stacks" atomic_uint to zero is unnecessary once all
the threads have finished execution.
2022-06-16 12:41:08 +09:00
a879e0ef8c Add atomic_bool to ThreadPool to ensure validity
The new deque<atomic_bool> ensures that values are not dropped from the
deque until the entry's threads have finished execution.
2022-06-16 12:37:09 +09:00
62600cbfa6 Fix ThreadPool::easyStartAndWait()
Previously, the "waiting" part wasn't implemented.
2022-06-16 12:20:02 +09:00
292bffb636 Impl nested threaded calls
More testing is probably required to make sure it works properly.
2022-06-15 21:15:34 +09:00
3286aa5a74 WIP nestable threads via ThreadPool
Currently has a race-condition-like memory corruption bug where function
contexts are deleted before child-functions complete (probably).
2022-06-15 16:38:36 +09:00
b2cd215faf Merge branch 'master' into cxx17 2022-01-20 17:33:30 +09:00
841a591aa4 Impl deferring deletions allowing for delete in fn
deleteEntity() is now allowed during a "forMatching" call, since it is deferred
until the "forMatching" call(s) end.
2022-01-20 17:32:05 +09:00
f009ef1135 Merge branch 'master' into cxx17 2022-01-20 14:34:31 +09:00
e61d2724e6 Fix possible data-race with isAlive() calls
Removed isAlive() calls from functions passed to ThreadPool, and instead use an
unordered_set prior to using ThreadPool to "cache" which entities are not alive.
This is so that if a function passed to ThreadPool modifies the ECManager (e.g.
creating a new entity), then there will be no data race from also calling
isAlive(). (Note that this does not protect against "deleting" entities from the
ECManager during use of ThreadPool. It is expected for the caller to do the
"deleting" after use of stored/called functions is finished.)
2022-01-20 14:31:23 +09:00
56d7ddd3ba Use "if constexpr" where possible in ThreadPool 2021-09-09 15:55:23 +09:00
0a7929b0a4 Merge branch 'master' into cxx17 2021-09-09 15:54:30 +09:00
f27c22675a Add easyWakeAndWait() to ThreadPool
Changed usage of ThreadPool in EC::Manager to use easyWakeAndWait().
2021-09-09 15:53:55 +09:00
e0a18900e4 Update doxygen main page to link to EC::Manager 2021-09-09 13:13:55 +09:00
51bea5a40f Update Doxygen and README.md 2021-09-08 18:06:24 +09:00
7b512958fd Attempt to use github actions for Doxygen docs 2021-09-08 17:42:43 +09:00
60f35e8270 Merge branch 'master' into cxx17 2021-09-08 15:56:44 +09:00
79748d58f1 Double the number of tasks given to ThreadPool
Previous implementation only enqueued "ThreadCount" tasks to ThreadPool.
For more efficiency, this has been changed to "ThreadCount * 2" tasks.
2021-09-08 15:55:08 +09:00
9732ac80bd Merge branch 'master' into cxx17 2021-09-08 15:12:04 +09:00
388d48056f Update README.md 2021-09-08 15:11:56 +09:00
cfccb5f863 Merge branch 'master' into cxx17 2021-09-08 14:58:54 +09:00
577a647ca4 Update doxygen documentation 2021-09-08 14:58:41 +09:00
dd83a492c8 Merge branch 'master' into cxx17 2021-09-08 14:14:43 +09:00
120368094e Remove redundant function
"deleteForMatchingFunction()" was exactly the same as
"removeForMatchingFunction()", so it was removed.
2021-09-08 14:14:14 +09:00
4752a67380 Merge branch 'master' into cxx17 2021-09-08 10:49:49 +09:00
c2dc5124c9 Rename a UnitTest for ThreadPool 2021-09-08 10:49:32 +09:00
eca91d3670 Merge branch 'master' into cxx17 2021-09-08 10:46:39 +09:00
64e9b18f89 Fix UnitTests for ThreadPool 2021-09-08 10:46:26 +09:00
5baa4e92b7 Merge branch 'master' into cxx17 2021-09-07 20:25:10 +09:00
222fbb0862 Make ThreadPool::getThreadCount() constexpr 2021-09-07 20:24:47 +09:00