Skip to content

fix state transition bug in PluginAudioThread's Drop implementation#29

Draft
johnmatter wants to merge 1 commit intofree-audio:masterfrom
johnmatter:pluginaudiothread-drop-state-bug
Draft

fix state transition bug in PluginAudioThread's Drop implementation#29
johnmatter wants to merge 1 commit intofree-audio:masterfrom
johnmatter:pluginaudiothread-drop-state-bug

Conversation

@johnmatter
Copy link

before

  1. compare_exchange switches state from Processing to Activated
  2. Drop calls stop_processing, which contains the following assertion which will fail:
assert_plugin_state_eq!(self, PluginStatus::Processing);

after

IIUC this now has the intended behavior, which is:

  • If Processing, then call stop_processing (which transitions to Activated)
  • If Activated, do nothing
  • Otherwise, panic

…aused by compare_exchange changing state before stop_processing() call
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant