summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-02-06 21:58:43 +0100
committerLudovic Courtès <ludo@gnu.org>2019-02-06 23:06:18 +0100
commit8245bb74fc7bdcdc2f9d458057cefc9cd982e489 (patch)
tree9485861a2715bb21173e80a1f4258eea1450326e /gnu
parentd59124280851c5d62b6ecf5aa07f6b4f6520a0e5 (diff)
downloadguix-8245bb74fc7bdcdc2f9d458057cefc9cd982e489.tar.gz
monads, gexp: Prevent redefinition of syntax parameters.
Fixes <https://bugs.gnu.org/27476>.

This fixes multi-threaded compilation of this code where syntax
parameters could end up being redefined and where a race condition could
lead a thread to see the "wrong" value of the syntax parameter.

* guix/monads.scm (define-syntax-parameter-once): New macro.
(>>=, return): Use it.
* guix/gexp.scm (define-syntax-parameter-once): New macro.
(current-imported-modules, current-imported-extensions): Use it.
Diffstat (limited to 'gnu')
0 files changed, 0 insertions, 0 deletions