Skip to content

Commit 4bb7916

Browse files
committed
don't use sleep, it's can deadlock in the CI ...
1 parent da5ae0b commit 4bb7916

File tree

1 file changed

+24
-6
lines changed

1 file changed

+24
-6
lines changed

weave/parallel_tasks.nim

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,9 @@ macro spawnDelayed*(pledges: varargs[typed], fnCall: typed): untyped =
203203
# --------------------------------------------------------
204204

205205
when isMainModule:
206-
import ./runtime, ./state_machines/[sync, sync_root], os, std/[times, monotimes]
206+
import
207+
./runtime, ./state_machines/[sync, sync_root], os,
208+
std/[times, monotimes]
207209

208210
block: # Async without result
209211

@@ -245,11 +247,27 @@ when isMainModule:
245247
main2()
246248

247249
block: # isReady
248-
proc sleepingLion(ms: int): int =
249-
for _ in 0 ..< ms:
250-
sleep(1)
251-
echo "--> Slept for ~", ms, " ms"
252-
return ms
250+
template dummy_cpt(): untyped =
251+
# Dummy computation
252+
# Calculate fib(30) iteratively
253+
var
254+
fib = 0
255+
f2 = 0
256+
f1 = 1
257+
for i in 2 .. 30:
258+
fib = f1 + f2
259+
f2 = f1
260+
f1 = fib
261+
262+
proc sleepingLion(stop_ms: int64): int64 =
263+
let start = getMonoTime()
264+
265+
while true:
266+
let elapsed = inMilliseconds(getMonoTime() - start)
267+
if elapsed >= stop_ms:
268+
return elapsed
269+
270+
dummy_cpt()
253271

254272
proc main2() =
255273
echo "Sanity check 3: isReady"

0 commit comments

Comments
 (0)