+(define (agenda-handle-port-remove-request! agenda port-remove-request)
+ "Update an agenda for a port-remove-request"
+ (let ((port (port-remove-request-port port-remove-request)))
+ (hash-remove! (agenda-read-port-map agenda) port)
+ (hash-remove! (agenda-write-port-map agenda) port)
+ (hash-remove! (agenda-except-port-map agenda) port)))
+
+
+(define (stop-on-nothing-to-do agenda)
+ (and (q-empty? (agenda-queue agenda))
+ (schedule-empty? (agenda-schedule agenda))
+ (= 0 (hash-count (const #t) (agenda-read-port-map agenda)))
+ (= 0 (hash-count (const #t) (agenda-write-port-map agenda)))
+ (= 0 (hash-count (const #t) (agenda-except-port-map agenda)))))
+
+