fixes #1188
This commit is contained in:
parent
c7e77edecc
commit
bebda3851f
3 changed files with 15 additions and 6 deletions
|
|
@ -251,7 +251,10 @@ proc `^`*[T](fv: FlowVar[ref T]): ref T =
|
|||
## Blocks until the value is available and then returns this value.
|
||||
blockUntil(fv)
|
||||
let src = cast[ref T](fv.data)
|
||||
deepCopy result, src
|
||||
when defined(nimV2):
|
||||
result = src
|
||||
else:
|
||||
deepCopy result, src
|
||||
finished(fv)
|
||||
|
||||
proc `^`*[T](fv: FlowVar[T]): T =
|
||||
|
|
@ -259,7 +262,10 @@ proc `^`*[T](fv: FlowVar[T]): T =
|
|||
blockUntil(fv)
|
||||
when T is string or T is seq:
|
||||
let src = cast[T](fv.data)
|
||||
deepCopy result, src
|
||||
when defined(nimV2):
|
||||
result = src
|
||||
else:
|
||||
deepCopy result, src
|
||||
else:
|
||||
result = fv.blob
|
||||
finished(fv)
|
||||
|
|
|
|||
|
|
@ -136,9 +136,12 @@ else:
|
|||
when TArg is void:
|
||||
thrd.dataFn()
|
||||
else:
|
||||
var x: TArg
|
||||
deepCopy(x, thrd.data)
|
||||
thrd.dataFn(x)
|
||||
when defined(nimV2):
|
||||
thrd.dataFn(thrd.data)
|
||||
else:
|
||||
var x: TArg
|
||||
deepCopy(x, thrd.data)
|
||||
thrd.dataFn(x)
|
||||
finally:
|
||||
afterThreadRuns()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue