Browse Source

ringbuffer还原到最初状态

master
Lizongdi 2 days ago
parent
commit
41c8d5adbe
  1. 15
      library/ringbuffer/ringbuffer.c

15
library/ringbuffer/ringbuffer.c

@ -78,7 +78,6 @@ void rd_RingbufferInit(rd_ringbuf_t *rb, char *pool, int size)
int rd_RingbufferSpaceLen(rd_ringbuf_t *rb)
{
if (!rb) return -1;
int iRet = 0;
unsigned short wi = ATOMIC_LOAD(&rb->m_sWriteIndex, unsigned short, ATOMIC_ORDER_ACQUIRE);
unsigned short ri = ATOMIC_LOAD(&rb->m_sReadIndex, unsigned short, ATOMIC_ORDER_RELAXED);
@ -86,19 +85,9 @@ int rd_RingbufferSpaceLen(rd_ringbuf_t *rb)
unsigned char rb_m = ATOMIC_LOAD(&rb->m_bReadMirror, unsigned char, ATOMIC_ORDER_RELAXED);
if (wb == rb_m) {
iRet = rb->m_iBufsize - (wi - ri);
return rb->m_iBufsize - (wi - ri);
} else {
iRet = ri - wi;
}
if (iRet >= 0)
{
return iRet;
}
else
{
log_e("wb = %d, rb_m = %d, wi = %d, ri = %d", wb, rb_m, wi, ri);
return 0;
return ri - wi;
}
}

Loading…
Cancel
Save