progsig: Fix remove and clone program functions being completely broken.

Remove function only removed instructions from the local machine, and
was therefore not MP safe.
Clone function failed to work correctly for non-trivial cases,
and sometimes caused an array out of bounds assertion.

These are replaced by a new commandproc which does each operation
as a single action, which is therefore MP safe.

Remove an unused struct field.
This commit is contained in:
Jonathan G Rennison
2015-11-24 01:03:09 +00:00
parent 8760187899
commit 769b8ae096
5 changed files with 142 additions and 70 deletions

View File

@@ -332,6 +332,7 @@ enum Commands {
CMD_INSERT_SIGNAL_INSTRUCTION, ///< insert a signal instruction
CMD_MODIFY_SIGNAL_INSTRUCTION, ///< modifies a signal instruction
CMD_REMOVE_SIGNAL_INSTRUCTION, ///< removes a signal instruction
CMD_SIGNAL_PROGRAM_MGMT, ///< removes a signal program management command
CMD_END, ///< Must ALWAYS be on the end of this list!! (period)
};