mp:make-lock
now offers control over whether a lock can be locked recursively. Non-recursive locks can be useful for debugging code where a lock is not expected to be claimed recursively.
mp:make-lock
also allows you to create "sharing" locks which support sharing and exclusive locking.
See
mp:make-lock
in the
LispWorks User Guide and Reference Manual
for details.
There are new APIs for querying locks:
mp:lock-recursive-p
,
mp:lock-owned-by-current-process-p
,
mp:lock-locked-p
and
mp:lock-recursively-locked-p
.
Additionally
mp:lock-owner
now checks for an exclusive lock in the case of a sharing lock.
The performance of locks has been improved.