12.6.4 Stream locking

LispWorks now has "cooperative" stream locking. "Cooperative" here means that the lock is not explicitly claimed by the stream I/O functions, so the locking takes effect only when your code uses the locking interface explicitly ("cooperates").

Stream locking makes it possible to write atomically with respect to code that runs in another thread, providing that the code running in the other thread also uses the locks. The same functionality can be achieved by using a mp:lock around I/O calls, but stream locking saves you from keeping a mp:lock object for each stream.

Stream locking is an experimental feature and is not documented in the manuals supplied. For more information please contact Lisp Support.

LispWorks Release Notes and Installation Guide - 18 Mar 2008