[XRay][compiler-rt] Fix logical failure in BufferQueue::getBuffer()
authorDean Michael Berris <dberris@google.com>
Wed, 4 Oct 2017 06:02:12 +0000 (06:02 +0000)
committerDean Michael Berris <dberris@google.com>
Wed, 4 Oct 2017 06:02:12 +0000 (06:02 +0000)
Follow-up to D38119.

llvm-svn: 314878

compiler-rt/lib/xray/xray_buffer_queue.cc

index b049ab37516267007d4c5fcdcb97ea606afac856..61a0add0eadbb5bd2d0365ebe609588a2bc64dd9 100644 (file)
@@ -55,7 +55,6 @@ BufferQueue::ErrorCode BufferQueue::getBuffer(Buffer &Buf) {
   Buf = B;
   ++LiveBuffers;
 
-  First = Next;
   if (++Next == (Buffers.get() + BufferCount))
     Next = Buffers.get();
 
@@ -81,6 +80,7 @@ BufferQueue::ErrorCode BufferQueue::releaseBuffer(Buffer &Buf) {
   --LiveBuffers;
   if (++First == (Buffers.get() + BufferCount))
     First = Buffers.get();
+
   return ErrorCode::Ok;
 }