From 1090fc11eb5f363c8ece33ba7f099dbfd98cf842 Mon Sep 17 00:00:00 2001 From: Elliot Saba Date: Thu, 19 Aug 2021 22:56:27 +0000 Subject: [PATCH] cache musl version --- src/runtime_musl_workaround.jl | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/runtime_musl_workaround.jl b/src/runtime_musl_workaround.jl index acc527b..67e41be 100644 --- a/src/runtime_musl_workaround.jl +++ b/src/runtime_musl_workaround.jl @@ -127,17 +127,21 @@ function get_musl_dso_type(musl_version::VersionNumber) end end +_musl_version = Ref{Union{Nothing,VersionNumber}}(nothing) function get_musl_version() + if _musl_version[] !== nothing + return _musl_version[] + end + stderr = IOBuffer() run(pipeline(ignorestatus(`/lib/libc.musl-x86_64.so.1 --version`); stdout=Base.devnull, stderr)) - version = nothing for line in split(String(take!(stderr)), "\n") if startswith(line, "Version ") - version = parse(VersionNumber, line[9:end]) + _musl_version[] = parse(VersionNumber, line[9:end]) end end - return version + return _musl_version[] end function parse_soname(dso::musl_dso)