Bug 1530715 - P40: Move stream setup and close into a struct within a mutex. r=padenot

The core stream data that will be touched on the different threads when
the stream is created, reinitialized, destoryed should be used in the
critical section. Those core data are initialized in stream-setup and
destroyed in stream-close. The stream-setup and stream-close is run in
the critical section so they won't be executed at the same time.
Currently, the critical section is created by our custom mutex. However,
this custom mutex will be removed in the later mutex replacement.

Instead of running these two operations in the critical sections created
by the custom mutex, they should be moved into a struct wrapped by a
standard Rust mutex. As a result, at the end when the custom mutex is
removed, these two operations are still in the critical sections that
are created by the Rust mutex.

Differential Revision: https://phabricator.services.mozilla.com/D34073

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Chun-Min Chang 2019-07-10 08:07:00 +00:00
parent 05ca07cf2a
commit 2c4a12e3b6
2 changed files with 897 additions and 800 deletions

View File

@ -3,4 +3,4 @@ git repository using the update.sh script.
The cubeb-coreaudio-rs git repository is: https://github.com/ChunMinChang/cubeb-coreaudio-rs
The git commit ID used was 628f63d81d82a929597a11cbe6ba98bb27e70ab6 (2019-06-25 11:32:23 -0700)
The git commit ID used was 729b0418d7ba1ba62bff2391d6b0e8b7515207b6 (2019-06-25 11:32:23 -0700)

File diff suppressed because it is too large Load Diff