All Manuals > LispWorks® User Guide and Reference Manual > 32 The COMM Package

close-wait-state-collection Function


Closes a wait-state-collection and all of its states.




close-wait-state-collection collection


The function close-wait-state-collection closes all of the states in collection. That means that the underlying communication object is closed and the async-io-state objects that are currently associated with collection cannot be used for further I/O and will not receive callbacks anymore.


close-wait-state-collection does not do anything that affects further processing in collection. In particular, you can add new states to the collection afterwards, and waiting and calling, either by loop-processing-wait-state-collection or wait-for-wait-state-collection and call-wait-state-collection, can continue. loop-processing-wait-state-collection does not stop if close-wait-state-collection is called inside it.

close-wait-state-collection is a "nasty" call, because it just kills any async-io-state associated with the collection. Normally should only be used only when you stop using the collection.

close-wait-state-collection cannot be called on a collection in parallel to itself or loop-processing-wait-state-collection, wait-for-wait-state-collection or call-wait-state-collection. It can be called inside the scope of call-wait-state-collection, and loop-processing-wait-state-collection.

You can use apply-in-wait-state-collection-process to cause execution inside the scope of call-wait-state-collection.

See also

25.7.2 The Async-I/O-State API
25 TCP and UDP socket communication and SSL

LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:26