1
0
Fork 0
mirror of https://gitlab.com/niansa/libcrosscoro.git synced 2025-03-06 20:53:32 +01:00
Commit graph

9 commits

Author SHA1 Message Date
Josh Baldwin
303cc3384c
Issue 5/clang format (#6)
* clang-format all existing files

* Add detailed comments for event
2020-10-14 08:53:00 -06:00
Josh Baldwin
1a2ec073ca
Add tests for tasks that throw (#4)
* Add tests for tasks that throw

* Additional task types for throwing coverage
2020-10-12 17:29:47 -06:00
jbaldwin
e0b8eb3f27 Added thread_strategy types for scheduler, fixed stackoverflow
The scheduler had a 'nice' optimization where any newly
submitted or resumed task would try and check if the current
thread its executing was the process event thread and if so
directly start or resume the task rather than pushing it into
the FIFO queues.  Well this has a bad side effect of a recursive
task which generates sub tasks will eventually cause a
stackoverflow to occur.  To avoid this the tasks for
submitting and resuming go through the normal FIFO queue which
is slower but removes the recursive function calls.
2020-09-28 23:20:56 -06:00
jbaldwin
2f575861dc engine works with normal coro::task<void> 2020-09-22 12:12:30 -06:00
jbaldwin
8cb23230e1 Added engine_task to properly delete completed root tasks
Added engine functions with tests
	poll()
	read()
	write()
	suspend()
	suspend_point()
	resume()
	shutdown()
2020-09-21 00:43:03 -06:00
jbaldwin
9e14a7b4c3 Task continuation + engine epoll with resume
Task in task didn't work previously consistently
due to continuation issues.
2020-09-12 14:53:33 -06:00
jbaldwin
4aa248cd17 task<void> working, task co_await task working
Turns out that the final_suspend() method is required
to be std::suspend_always() otherwise the coroutine_handle<>.done()
function will not trigger properly.  Refactored the task class
to allow the user to decide if they want to suspend at the beginning
but it now forces a suspend at the end to guarantee that
task.is_ready() will work properly.
2020-09-08 22:44:38 -06:00
jbaldwin
fb04c43370 Template task suspends, prototype out engine thoughts 2020-09-07 23:29:03 -06:00
jbaldwin
bfe97a12b4 task and async_manual_reset_event 2020-09-07 18:21:40 -06:00