summary refs log tree commit diff stats
path: root/tests/threads/tactors2.nim
blob: 5683f98ba4c500987078997aa5f0797a8698ec70 (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: TActorPool[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()