Ticket #441 (closed enhancement: fixed)
Would like to add PROCESS-PLIST slot to PROCESS instances
|Reported by:||dbmcclain||Owned by:||gb|
|Component:||Runtime (threads, GC)||Version:|
Having a PROCESS-PLIST accessor on PROCESS instances would be very helpful and appears to have benign consequences for existing code. This permits us to associate other items of interest with all processes, e.g., a PID (process descriptor) which can be used to encapsulate a lot of other information (e.g., mailboxes, locks, types of processes, etc.) without actually extending the PROCESS class object beyond the property list slot.
This is needed because calling make-process uses an existing class definition by default. New instances can be applied to extended class definitions using the :CLASS keyword parameter. But existing processes will not have the features needed by extended process objects. And the listener process, and perhaps others, will have already been created, yet need to participate with other instances in these extended applications.
By adding a PLIST slot with accessor CCL:PROCESS-PLIST we can associate arbitrary extensions with already existing processes as needed by applications.
(defclass process () .... (PLIST :INITFORM NIL :ACCESSOR PROCESS-PLIST) ...)