diff options
Diffstat (limited to 'src/wait-group.lisp')
-rw-r--r-- | src/wait-group.lisp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/wait-group.lisp b/src/wait-group.lisp index 35bb982..f7e5259 100644 --- a/src/wait-group.lisp +++ b/src/wait-group.lisp @@ -1,27 +1,38 @@ +;;;; TODO + +;; TODO: Add a wg:clear + (in-package :wait-group) (defclass wait-group () ((counter :initform 0 - :accessor counter))) + :accessor counter + :documentation "TODO")) + + (:documentation "TODO")) (defun make-wait-group () + "TODO" (make-instance 'wait-group)) (defgeneric add (wait-group &optional amount) - (:documentation "")) + (:documentation "TODO")) (defmethod add ((wait-group wait-group) &optional (amount 1)) + "TODO" (incf (counter wait-group) amount)) (defgeneric done (wait-group) - (:documentation "")) + (:documentation "TODO")) (defmethod done ((wait-group wait-group)) + "TODO" (decf (counter wait-group))) (defgeneric wait (wait-group) - (:documentation "")) + (:documentation "TODO")) (defmethod wait ((wait-group wait-group)) + "TODO" (loop until (= (counter wait-group) 0))) |