This reverts commit c7cc934632.
This commit is contained in:
parent
c7cc934632
commit
f7b76c9ea7
1 changed files with 0 additions and 27 deletions
|
|
@ -1,27 +0,0 @@
|
|||
import threadpool
|
||||
|
||||
var ch: Channel[int]
|
||||
ch.open
|
||||
var pch = ch.addr
|
||||
|
||||
proc run(f: proc(): int {.gcsafe.}): proc() =
|
||||
let r = spawn f()
|
||||
return proc() = await(r)
|
||||
|
||||
var working = false
|
||||
|
||||
proc handler(): int =
|
||||
while true:
|
||||
let (h, v) = pch[].tryRecv()
|
||||
if not h:
|
||||
discard cas(working.addr, true, false)
|
||||
break
|
||||
1
|
||||
|
||||
proc send(x: int) =
|
||||
ch.send(x)
|
||||
if cas(working.addr, false, true):
|
||||
discard run(handler)
|
||||
|
||||
for x in 0..1000000:
|
||||
send(x)
|
||||
Loading…
Add table
Add a link
Reference in a new issue