diff options
Diffstat (limited to 'src/wait-group.lisp')
-rw-r--r-- | src/wait-group.lisp | 15 |
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))) |