My program gets multithreading errors, so I want to expand the captured capture macro to keep track of the lock stack that the process is receiving. I want to do this by simply adding a processing slot to save the lock stack.
Unfortunately, I do not understand how to add a slot at runtime without destroying what is already there. make-class completely overrides the class. I do not want this, since I do not know what another slot process has already done.
How to add a slot? In particular, I would like to add these two slots:
(lock-stack :documentation "stores a list of all locks of the process. Only used for debugging" :type list :initform nil :accessor lock-stack-acc ) (lock-stack-error-found :documentation "indicates that an error on the locks was already found. Only used for debugging" :type boolean :initform nil :accessor lock-stack-error-found-acc )
source share