Pushes a new value to a general property of a process.
mp
pushnew-to-process-property indicator value &key process test => result
indicator⇩ |
A Lisp object. |
value⇩ |
A Lisp object. |
process⇩ |
A process, or nil . |
test⇩ |
A function designator for a function of two arguments. |
result⇩ |
A list. |
The function pushnew-to-process-property
pushes value to the value of the property associated with indicator for the process process. It uses the function test to compare existing property values of process with value and does not push if one matches, in the same way as cl:pushnew.
The default value of test is #'eql
.
If there is a property associated with indicator, the value of the property must be a list.
If process is not supplied or is nil
, the current process (that is, the result of calling get-current-process) is used.
result is the new value of the process property.
The modification is done in a thread-safe way.
In the typical case when only the current process sets the property (even if other processes read it), private properties can be used, and are much faster in SMP LispWorks, because they do not need to deal with parallel setting. See process-private-property.
process-property
process-private-property
remove-process-property
LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:51