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

Unified Diff: content/browser/gamepad/gamepad_provider.cc

Issue 8689011: Renderer reading side of gamepad (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: using separate seqlock Created 9 years, 1 month 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
Index: content/browser/gamepad/gamepad_provider.cc
diff --git a/content/browser/gamepad/gamepad_provider.cc b/content/browser/gamepad/gamepad_provider.cc
index 642e2445a7bbe8fa0d0fc8fa7fd1fcbe2827c101..35b9e3f0afc398295f861e1f3c6cd697022b035d 100644
--- a/content/browser/gamepad/gamepad_provider.cc
+++ b/content/browser/gamepad/gamepad_provider.cc
@@ -119,9 +119,11 @@ void Provider::DoInitializePollingThread() {
void Provider::DoPoll() {
DCHECK(MessageLoop::current() == polling_thread_->message_loop());
GamepadHardwareBuffer* hwbuf = SharedMemoryAsHardwareBuffer();
- base::subtle::Barrier_AtomicIncrement(&hwbuf->start_marker, 1);
+ // Acquire the SeqLock. There is only ever one writer to this data.
+ // See gamepad_hardware_buffer.h.
+ hwbuf->sequence.WriteBegin();
data_fetcher_->GetGamepadData(&hwbuf->buffer, devices_changed_);
- base::subtle::Barrier_AtomicIncrement(&hwbuf->end_marker, 1);
+ hwbuf->sequence.WriteEnd();
devices_changed_ = false;
// Schedule our next interval of polling.
ScheduleDoPoll();

Powered by Google App Engine
This is Rietveld 408576698