Skip to content

Commit

Permalink
CLJ-2026 Prevent concurrent loads in dynaload
Browse files Browse the repository at this point in the history
Signed-off-by: Alex Miller <alex.miller@cognitect.com>
  • Loading branch information
puredanger committed Jun 26, 2018
1 parent 33d4169 commit 31165fe
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion src/main/clojure/clojure/spec/gen/alpha.clj
Expand Up @@ -12,11 +12,14 @@

(alias 'c 'clojure.core)

(defonce ^:private dynalock (Object.))

(defn- dynaload
[s]
(let [ns (namespace s)]
(assert ns)
(require (c/symbol ns))
(locking dynalock
(require (c/symbol ns)))
(let [v (resolve s)]
(if v
@v
Expand Down

0 comments on commit 31165fe

Please sign in to comment.