summary refs log tree commit diff stats
path: root/tests/threads/t7172.nim
blob: 87e89417b924aea78fede1057f76b9f50cd9f676 (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
26
27
28
29
30
31
32
33
34
discard """
  disabled: i386
  output: '''
In doStuff()
In initProcess()
TEST
initProcess() done
Crashes before getting here!
'''
  joinable: false
"""

import std/os
import std/typedthreads

proc whatever() {.thread, nimcall.} =
  echo("TEST")

proc initProcess(): void =
  echo("In initProcess()")
  var thread: Thread[void]
  createThread(thread, whatever)
  joinThread(thread)
  echo("initProcess() done")

proc doStuff(): void =
  echo("In doStuff()")
  # ...
  initProcess()
  sleep(500)
  # ...
  echo("Crashes before getting here!")

doStuff()