| 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();
|
|
|