Locking message objects

Place locks on message objects to prevent certain actions. For example, the engine might pass a message into a UPoC, prohibiting the user from destroying, or possibly even modifying the message.

Query and set locks with the msglock command. This command returns a list of locks applied to the message. If new lock flags are specified, then the return includes the new locks.

  • The -nodestroy flag renders the message undestroyable.
  • -nowrite prevents any one from updating the message or its metadata.

For example:

Input: msglock message3
Output:

Input: msglock -nodestroy message3
Output: nodestroy

Input: msglock -nowrite message3
Output: nodestroy nowrite

Input: msglock message3
Output: nodestroy nowrite

An error happens if an attempt is made to destroy or modify a locked message. After a lock is applied to a message, it cannot be removed.

Note: These locks apply only to Tcl commands; they have no effect on engine behavior.