The macro atomic-push
is the same as cl:push
, but is guaranteed atomic for a suitable place.
place must be one of the places described in Low level atomic operations, or expand to one of them.
In many cases the natural inverse of push
is delete
, but there is no way to do delete
atomically, except by using a separate lock, which must also be held while doing the push
.
LispWorks User Guide and Reference Manual - 13 Feb 2015