Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1107)

Unified Diff: media/midi/midi_manager_usb.h

Issue 2262043002: MidiScheduler binds to task runner of constructing thread (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/midi/midi_manager_android.cc ('k') | media/midi/midi_manager_usb.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/midi/midi_manager_usb.h
diff --git a/media/midi/midi_manager_usb.h b/media/midi/midi_manager_usb.h
index a4b06a0374377822cfc03a427a52d85e44829d7c..d3e358d6080cfe1a71b938a4f0022e93385ccf87 100644
--- a/media/midi/midi_manager_usb.h
+++ b/media/midi/midi_manager_usb.h
@@ -17,6 +17,7 @@
#include "base/compiler_specific.h"
#include "base/containers/hash_tables.h"
#include "base/macros.h"
+#include "base/synchronization/lock.h"
#include "base/time/time.h"
#include "media/midi/midi_manager.h"
#include "media/midi/usb_midi_device.h"
@@ -42,6 +43,7 @@ class USB_MIDI_EXPORT MidiManagerUsb
// MidiManager implementation.
void StartInitialization() override;
+ void Finalize() override;
void DispatchSendMidiData(MidiManagerClient* client,
uint32_t port_index,
const std::vector<uint8_t>& data,
@@ -90,6 +92,9 @@ class USB_MIDI_EXPORT MidiManagerUsb
// A map from <endpoint_number, cable_number> to the index of input jacks.
base::hash_map<std::pair<int, int>, size_t> input_jack_dictionary_;
+ // Lock to ensure the MidiScheduler is being destructed only once in
+ // Finalize() on Chrome_IOThread.
+ base::Lock scheduler_lock_;
std::unique_ptr<MidiScheduler> scheduler_;
DISALLOW_COPY_AND_ASSIGN(MidiManagerUsb);
« no previous file with comments | « media/midi/midi_manager_android.cc ('k') | media/midi/midi_manager_usb.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698