summary refs log tree commit diff stats
path: root/tests/threads/tactors2.nim
blob: e8afe203c4d074407ddab0d157497f8f241b79bc (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: "1"
"""

import actors

type
  some_type {.pure, final.} = object
    bla: int

proc thread_proc(input: some_type): some_type {.thread.} =
  result.bla = 1

proc main() =
  var actorPool: ActorPool[some_type, some_type]
  createActorPool(actorPool, 1)

  var some_data: some_type

  var inchannel = spawn(actorPool, some_data, thread_proc)
  var recv_data = ^inchannel
  close(inchannel[])
  echo recv_data.bla

main()