c18765e44a
Merge branch 'master' into cxx17
Run UnitTests / build-and-run-unittests (push) Successful in 31s
2024-07-15 13:47:06 +09:00
38ee7c532f
UnitTests: make counters atomic
Run UnitTests / build-and-run-unittests (push) Successful in 13s
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 1s
2024-07-15 13:46:35 +09:00
c016fcdbd9
Merge branch 'master' into cxx17
Run UnitTests / build-and-run-unittests (push) Successful in 29s
2024-07-15 13:34:15 +09:00
3f7cb8182e
Add conanfile.py, publish conan package
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 0s
Run UnitTests / build-and-run-unittests (push) Failing after 13s
2024-07-15 13:31:04 +09:00
09104524b5
Inihbit warning when building UnitTests
...
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 2s
Run UnitTests / build-and-run-unittests (push) Successful in 35s
Ignore "-Wsign-compare"
2024-07-15 13:20:19 +09:00
6778f570d9
Remove dependency on GTest for UnitTests
Publish doxygen documentation to seodisparate.com / doxygen-gen-and-publish (push) Successful in 2s
Run UnitTests / build-and-run-unittests (push) Successful in 35s
2024-07-15 13:13:08 +09:00
33855ff2d7
Update LICENSE year
2024-07-15 12:52:34 +09:00
b7117c09b3
Merge branch 'master' into cxx17
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
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
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"
...
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
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
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
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
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
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
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
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
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