Skip to content

Commit 59162ff

Browse files
author
KDr2
committed
1 parent c66b8c9 commit 59162ff

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/tarray.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ for i in 1:4 ta[i] = i end # assign
3131
Array(ta) # convert to 4-element Array{Int64,1}: [1, 2, 3, 4]
3232
```
3333
"""
34-
struct TArray{T, N, A <: AbstractArray{T, N}} <: AbstractArray{T, N}
34+
mutable struct TArray{T, N, A <: AbstractArray{T, N}} <: AbstractArray{T, N}
3535
orig_task :: Task
3636
data::Dict{Task, Tuple{Int, A}}
3737
function TArray{T, N, A}() where {T, N, A <: AbstractArray{T, N}}
@@ -61,14 +61,13 @@ end
6161
TArray(x::AbstractArray) = convert(TArray, x)
6262

6363
# TArray House-Keeper
64-
6564
const TArrayKeeper = Vector{WeakRef}()
6665
register_to_keeper(x::TArray) = push!(TArrayKeeper, WeakRef(x))
6766
function copy_tarrays(task1::Task, task2::Task)
6867
filter!(x -> x.value !== nothing, TArrayKeeper)
6968
for wref in TArrayKeeper
7069
ta = wref.value
71-
if haskey(ta.data, task1) && !haskey(ta.data, task2)
70+
if ta !== nothing && haskey(ta.data, task1) && !haskey(ta.data, task2)
7271
ta.data[task2] = ta.data[task1]
7372
end
7473
end

0 commit comments

Comments
 (0)