19 Commits

Author SHA1 Message Date
b10f250945 Added simple (albeit in many cases suboptiomal) c_sleep() method for coroutines. 2024-06-23 12:19:57 +02:00
463f4ca19c Fixed some compiler errors. 2024-05-17 20:29:46 +02:00
faf4489b92 Added isLocked() to task mutex. 2023-12-18 17:53:40 +01:00
2668e69ae1 Added signal_token_t to make it easier to store tokens. 2023-12-17 02:36:24 +01:00
b692425f83 Added TaskMutex header. 2023-12-10 18:42:20 +01:00
0e877f4769 Added getActiveTasks() function to count how many tasks are running or suspended. 2023-12-07 17:14:45 +01:00
adbb4fd0d1 Disabled coroutine debug info by default as it is fucking expensive. 2023-11-24 22:01:08 +01:00
ba8c1ebe1e Moved the creation stack to the shared state so it is retrievable, added comparison operators to TaskHandle and added getCurrentTask() function to retrieve the handle of the current task. 2023-11-19 20:04:19 +01:00
803f1463dc Made the message queue iterable. 2023-11-19 20:03:24 +01:00
065181fc69 Also cancel sub-tasks (those that are awaited by this one) when cancelling a task. 2023-11-18 22:20:47 +01:00
5aecd20c56 Use our optional type for storing results of the future. 2023-11-16 23:38:53 +01:00
5eb7864928 Moved TaskCancelled out of impl namespace and removed errornous noexcept. 2023-11-16 00:36:24 +01:00
0b8772c952 Added (pretty limited) support for uncaught exceptions in coroutines. 2023-11-13 11:34:47 +01:00
463890cfcb Added Signal::connect() function that takes an object + function pointer. 2023-11-12 19:59:18 +01:00
ae5e73aa58 Fixed coroutine cleanup. 2023-11-11 01:37:59 +01:00
617e051943 Added validity check to task handles and fixed some clang-tidy warning in MIJIN_ASSERT. 2023-11-03 23:17:48 +01:00
89bb110116 Added cancelling (and some exception handling) for coroutines. 2023-11-03 00:48:13 +01:00
920e83d4da Update to LibConf system, added loading of dynamic libraries (only Linux for now) and some more fixes. 2023-05-31 23:41:22 +02:00
da781b87f2 intial commit 2023-05-29 14:51:44 +02:00