Open
Description
Because an InterruptException()
is just a normal exception, it's easy to write code that accidentally catches it. In other words:
julia> @everywhere begin
g() = for i = 1:10000 rand() end
f(x) = while true
try
g()
catch e
println("error, continuing")
end
end
end
julia> pmap(f, [1])
leads to a parallel job that cannot be interrupted using interrupt()
, continues to run after Julia exits, and can only be stopped by killing julia-release-basic
.