diff options
-rw-r--r-- | src/wait-group.lisp | 15 | ||||
-rw-r--r-- | wait-group.asd | 2 |
2 files changed, 7 insertions, 10 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))) diff --git a/wait-group.asd b/wait-group.asd index 6a01756..01164fb 100644 --- a/wait-group.asd +++ b/wait-group.asd @@ -1,5 +1,5 @@ (asdf:defsystem wait-group - :description "TODO" + :description "Wait for a collection of jobs to finish" :version "0.0.1" :components ((:module "src" |