summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/boot.clj12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/boot.clj b/src/boot.clj
index 53fd5842..46287788 100644
--- a/src/boot.clj
+++ b/src/boot.clj
@@ -301,10 +301,14 @@
(defn commute [#^Ref ref fun]
(. ref (commute fun)))
-(defn set [#^Ref ref val]
- (. ref (set val)))
-
-(defmacro sync [& body]
+(defn set
+ ([#^Ref ref]
+ (. ref (touch))
+ (. ref (get)))
+ ([#^Ref ref val]
+ (. ref (set val))))
+
+(defmacro sync [flags-ignored-for-now & body]
`(. clojure.lang.LockingTransaction
(runInTransaction (fn [] ~@body))))