diff options
| author | Tyge Løvset <[email protected]> | 2023-06-14 13:24:29 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2023-06-14 13:24:29 +0200 |
| commit | 3f919a3b38a88e1c96399cd6096dec16060802a1 (patch) | |
| tree | 8c071e33522d31cd7c90834423760da514fc7f46 /include/stc/algo | |
| parent | c51bdc8d8aeac63c0af955f81593ef0be326a7e0 (diff) | |
| download | STC-modified-3f919a3b38a88e1c96399cd6096dec16060802a1.tar.gz STC-modified-3f919a3b38a88e1c96399cd6096dec16060802a1.zip | |
Fixed a bug in cco_await_on(), and added _pull() function to random access containers (moves element out of container, ie no drop).
Diffstat (limited to 'include/stc/algo')
| -rw-r--r-- | include/stc/algo/coroutine.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/stc/algo/coroutine.h b/include/stc/algo/coroutine.h index 61581f64..e0952e1f 100644 --- a/include/stc/algo/coroutine.h +++ b/include/stc/algo/coroutine.h @@ -93,8 +93,8 @@ enum { #define cco_resume(closure) (closure)->coroutine(closure) #define cco_await_on(...) c_MACRO_OVERLOAD(cco_await_on, __VA_ARGS__) -#define cco_await_on_1(closure) cco_await_on_2(closure, cco_resume(closure)) -#define cco_await_on_2(co, func) cco_await_1((func(co), !cco_done(co))) +#define cco_await_on_1(closure) cco_await_2((cco_resume(closure), cco_done(closure)), ) +#define cco_await_on_2(co, func) cco_await_2((func(co), cco_done(co)), ) #define cco_block_on(...) c_MACRO_OVERLOAD(cco_block_on, __VA_ARGS__) #define cco_block_on_1(closure) while (cco_resume(closure), !cco_done(closure)) |
