aboutsummaryrefslogtreecommitdiffstats
path: root/src/package.lisp
diff options
context:
space:
mode:
authorTeddy Wing2021-01-31 19:50:38 +0100
committerTeddy Wing2021-01-31 19:50:38 +0100
commitdc2fc9f2cd69422c720daaa531d1bdb9a6bde0e5 (patch)
tree705853050ab666ca421fada33ce07c9ead14ea2c /src/package.lisp
downloadcl-wait-group-dc2fc9f2cd69422c720daaa531d1bdb9a6bde0e5.tar.bz2
Define a library for Go-style wait groups
Define a data structure and methods to represent a Go-style wait group, similar to `sync.WaitGroup` (except single-threaded). Implements a similar interface. Calling `wait` blocks until the wait group's internal counter gets to 0.
Diffstat (limited to 'src/package.lisp')
-rw-r--r--src/package.lisp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/package.lisp b/src/package.lisp
new file mode 100644
index 0000000..c868d02
--- /dev/null
+++ b/src/package.lisp
@@ -0,0 +1,9 @@
+(defpackage :wait-group
+ (:nicknames :wg)
+
+ (:use :cl)
+
+ (:export #:make-wait-group
+ #:add
+ #:done
+ #:wait))