diff options
Diffstat (limited to 'src')
| -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))) | 
