37
43
Collect platform specific bits into cor_platform
on 2:19 PM Oct 20 2025
42
43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include <pthread.h>
#include "coroutine.h"
struct Task {
Future base;
Coroutine *cor;
Task_Entry entry;
void *param;
Future *awaiting_future;
bool canceled;
void *cancel_value;
};
static inline bool Task_IsCanceled(
Task *tsk
){
return tsk->canceled;
}
static inline bool Task_Await(
Task *tsk,
void **res
){
return Future_Await(&tsk->base, res);
}
static inline Future *Task_GetAwaitedFuture(
Task *tsk
){
return tsk->awaiting_future;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include "coroutine.h"
struct Task {
Future base;
Coroutine *cor;
Task_Entry entry;
void *param;
Future *awaiting_future;
bool canceled;
void *cancel_value;
};
static inline bool Task_IsCanceled(
Task *tsk
){
return tsk->canceled;
}
static inline bool Task_Await(
Task *tsk,
void **res
){
return Future_Await(&tsk->base, res);
}
static inline Future *Task_GetAwaitedFuture(
Task *tsk
){
return tsk->awaiting_future;
}