diff options
Diffstat (limited to '')
-rw-r--r-- | module/hnh/util/atomic.scm | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/module/hnh/util/atomic.scm b/module/hnh/util/atomic.scm new file mode 100644 index 00000000..1deba2c1 --- /dev/null +++ b/module/hnh/util/atomic.scm @@ -0,0 +1,11 @@ +(define-module (hnh util atomic) + :use-module (srfi srfi-18) + :export (with-mutex)) + +(define-syntax with-mutex + (syntax-rules () + ((_ mutex body ...) + (dynamic-wind + (lambda () (mutex-lock! mutex)) + (lambda () body ...) + (lambda () (mutex-unlock! mutex)))))) |