blob: e8f0ec9279c9733efc0e31641b24e4ae068805a5 (
plain) (
blame)
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
|
discard """
output: '''true'''
"""
var somethingElse {.threadvar.}: ref string
type MyThread = Thread[void]
proc asyncThread() {.thread.} =
new somethingElse
var threads = newSeq[ptr Thread[void]](8)
for c in 1..1_000:
#echo "Test " & $c
for i in 0..<threads.len:
var t = cast[ptr Thread[void]](alloc0(sizeof(MyThread)))
threads[i] = t
createThread(t[], asyncThread)
for t in threads:
joinThread(t[])
dealloc(t)
echo "true"
|