aboutsummaryrefslogtreecommitdiffstats
path: root/src/wait-group.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/wait-group.lisp')
-rw-r--r--src/wait-group.lisp15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/wait-group.lisp b/src/wait-group.lisp
index 7c46d7c..a00c2bb 100644
--- a/src/wait-group.lisp
+++ b/src/wait-group.lisp
@@ -6,9 +6,9 @@
((counter
:initform 0
:accessor counter
- :documentation "TODO"))
+ :documentation "Count of jobs to wait for."))
- (:documentation "TODO"))
+ (:documentation "Block waiting for jobs to finish."))
(defmethod print-object ((object wait-group) stream)
(print-unreadable-object (object stream :type t)
@@ -16,26 +16,23 @@
(format stream ":counter ~s" counter))))
(defun make-wait-group ()
- "TODO"
+ "Make a wait-group instance."
(make-instance 'wait-group))
(defgeneric add (wait-group &optional amount)
- (:documentation "TODO"))
+ (:documentation "Track a new job in the group."))
(defmethod add ((wait-group wait-group) &optional (amount 1))
- "TODO"
(incf (counter wait-group) amount))
(defgeneric done (wait-group)
- (:documentation "TODO"))
+ (:documentation "Stop tracking a job in the group."))
(defmethod done ((wait-group wait-group))
- "TODO"
(decf (counter wait-group)))
(defgeneric wait (wait-group)
- (:documentation "TODO"))
+ (:documentation "Block waiting for tracked jobs to finish."))
(defmethod wait ((wait-group wait-group))
- "TODO"
(loop until (<= (counter wait-group) 0)))