1 contributor
36 lines503 bytes
Newer
Older
-
+
commited
{line.log.rev}
on
9 months ago
37
1
#include <pthread.h>
2
#include "coroutine.h"
3
4
5
struct Task {
6
Future base;
7
Coroutine *cor;
8
Task_Entry entry;
9
void *param;
10
Future *awaiting_future;
11
bool canceled;
12
void *cancel_value;
13
};
14
15
16
static inline bool Task_IsCanceled(
17
Task *tsk
18
){
19
return tsk->canceled;
20
}
21
22
23
static inline bool Task_Await(
24
Task *tsk,
25
void **res
26
){
27
return Future_Await(&tsk->base, res);
28
}
29
30
31
static inline Future *Task_GetAwaitedFuture(
32
Task *tsk
33
){
34
return tsk->awaiting_future;
35
}
36