@@ -42,7 +42,7 @@ void swift_get_time(
42
42
clock_gettime (CLOCK_MONOTONIC_RAW, &continuous);
43
43
*seconds = continuous.tv_sec ;
44
44
*nanoseconds = continuous.tv_nsec ;
45
- #elif defined(__OpenBSD__) && HAS_TIME
45
+ #elif ( defined(__OpenBSD__) || defined(__wasi__) ) && HAS_TIME
46
46
struct timespec continuous;
47
47
clock_gettime (CLOCK_MONOTONIC, &continuous);
48
48
*seconds = continuous.tv_sec ;
@@ -76,6 +76,11 @@ void swift_get_time(
76
76
clock_gettime (CLOCK_UPTIME_RAW, &suspending);
77
77
*seconds = suspending.tv_sec ;
78
78
*nanoseconds = suspending.tv_nsec ;
79
+ #elif defined(__wasi__) && HAS_TIME
80
+ struct timespec suspending;
81
+ clock_gettime (CLOCK_MONOTONIC, &suspending);
82
+ *seconds = suspending.tv_sec ;
83
+ *nanoseconds = suspending.tv_nsec ;
79
84
#elif defined(__OpenBSD__) && HAS_TIME
80
85
struct timespec suspending;
81
86
clock_gettime (CLOCK_UPTIME, &suspending);
@@ -121,7 +126,7 @@ switch (clock_id) {
121
126
clock_getres (CLOCK_MONOTONIC_RAW, &continuous);
122
127
*seconds = continuous.tv_sec ;
123
128
*nanoseconds = continuous.tv_nsec ;
124
- #elif defined(__OpenBSD__) && HAS_TIME
129
+ #elif ( defined(__OpenBSD__) || defined(__wasi__) ) && HAS_TIME
125
130
struct timespec continuous;
126
131
clock_getres (CLOCK_MONOTONIC, &continuous);
127
132
*seconds = continuous.tv_sec ;
@@ -144,6 +149,10 @@ switch (clock_id) {
144
149
clock_getres (CLOCK_UPTIME_RAW, &suspending);
145
150
*seconds = suspending.tv_sec ;
146
151
*nanoseconds = suspending.tv_nsec ;
152
+ #elif defined(__wasi__) && HAS_TIME
153
+ clock_getres (CLOCK_MONOTONIC, &suspending);
154
+ *seconds = suspending.tv_sec ;
155
+ *nanoseconds = suspending.tv_nsec ;
147
156
#elif defined(__OpenBSD__) && HAS_TIME
148
157
clock_getres (CLOCK_UPTIME, &suspending);
149
158
*seconds = suspending.tv_sec ;
0 commit comments