Skip to content

Commit aab83e5

Browse files
authored
Reset BUNDLED_KNOWN_HOSTS_FILE in case we serialized a value due to precompilation (#31)
1 parent 976e51a commit aab83e5

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/ssh_options.jl

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,17 +145,26 @@ end
145145
## helper functions
146146

147147
const BUNDLED_KNOWN_HOSTS_LOCK = ReentrantLock()
148-
const BUNDLED_KNOWN_HOSTS_FILE = Ref{String}()
148+
const BUNDLED_KNOWN_HOSTS_FILE = Ref{Union{Nothing, String}}(nothing)
149149

150150
function bundled_known_hosts()
151151
lock(BUNDLED_KNOWN_HOSTS_LOCK) do
152-
if !isassigned(BUNDLED_KNOWN_HOSTS_FILE)
153-
BUNDLED_KNOWN_HOSTS_FILE[], io = mktemp()
152+
file = BUNDLED_KNOWN_HOSTS_FILE[]
153+
if file === nothing
154+
file, io = mktemp()
155+
BUNDLED_KNOWN_HOSTS_FILE[] = file
154156
write(io, BUNDLED_KNOWN_HOSTS)
155157
close(io)
156158
end
159+
return file::String
160+
end
161+
end
162+
163+
function __init__()
164+
# Reset in case we serialized a value here.
165+
lock(BUNDLED_KNOWN_HOSTS_LOCK) do
166+
BUNDLED_KNOWN_HOSTS_FILE[] = nothing
157167
end
158-
return BUNDLED_KNOWN_HOSTS_FILE[]
159168
end
160169

161170
const BUNDLED_KNOWN_HOSTS = """

0 commit comments

Comments
 (0)