replace: don't bother retracting null handles
This commit is contained in:
parent
1a6bb4ffbd
commit
0039792e0b
|
@ -289,12 +289,14 @@ proc sync*(turn: var Turn; r, peer: Ref) =
|
|||
|
||||
proc replace*[T](turn: var Turn; `ref`: Ref; h: Handle; v: T): Handle =
|
||||
result = publish(turn, `ref`, v)
|
||||
retract(turn, h)
|
||||
if h != default(Handle):
|
||||
retract(turn, h)
|
||||
|
||||
proc replace*[T](turn: var Turn; `ref`: Ref; h: var Handle; v: T): Handle {.discardable.} =
|
||||
var old = h
|
||||
h = publish(turn, `ref`, v)
|
||||
retract(turn, old)
|
||||
if old != default(Handle):
|
||||
retract(turn, old)
|
||||
h
|
||||
|
||||
proc stop*(turn: var Turn) {.gcsafe.}
|
||||
|
|
Loading…
Reference in New Issue