about summary refs log tree commit diff
path: root/src/rt/circular_buffer.cpp
AgeCommit message (Collapse)AuthorLines
2011-01-10Cleanup circular_bufferBrian Anderson-39/+52
2011-01-10Remove the assumption that circular_buffer's buffer has a power of two sizeBrian Anderson-25/+51
It was not obvious how to make this implementation work when the unit size was not also a power of two, so for now just make the buffer size a multiple of the unit size so it can pass all the tests.
2011-01-10Cleanup circular_buffer grow / shrink routinesBrian Anderson-4/+7
2011-01-10Fix circular_buffer growth when _next != 0Brian Anderson-6/+7
2011-01-10Remove tabsBrian Anderson-1/+1
2011-01-10Don't allow circular_buffer to shrink below its original size when unit_sz ↵Brian Anderson-5/+4
is not a power of two
2011-01-10Don't allow circular_buffer to shrink below it's initial sizeBrian Anderson-1/+3
2011-01-10Fix the check for growing the circular_bufferBrian Anderson-1/+1
2011-01-07Correctly initialize circular_buffer to a power-of-two bytesBrian Anderson-1/+2
2010-08-16Un-xfailed working tests.Michael Bebenita-1/+2
2010-08-16Pulled rust_srv in its own file. Some cleanup, and added varargs to ↵Michael Bebenita-1/+1
assertion macros.
2010-08-11Ignore upcall_flush for channels that are disassociated from ports. This ↵Michael Bebenita-0/+5
makes task-comm-10 break a little less hard, but it still leaks because messages pending in the channel are never freed.
2010-08-09Some pretty printing in the runtime.Michael Bebenita-3/+1
2010-07-28Let circular buffers actually grow to max sz, reset _next when resizing.Michael Bebenita-5/+7
2010-07-28Change unread-on-destroy condition for circular buffer to merely a warning.Michael Bebenita-1/+1
2010-07-28Add comment explaining NULL case in circular_buffer::enqueue and add logging ↵Michael Bebenita-1/+7
to ::dequeue.
2010-07-28Add peek method to circular buffer.Michael Bebenita-0/+5
2010-07-28Change _unit_sz to unit_sz and make public in circular_buffer.Michael Bebenita-14/+15
2010-07-28Make circular buffer use only power-of-two sizes, cheaper arithmetic.Michael Bebenita-2/+12
2010-07-19Fixed circular buffer resizing bug.Michael Bebenita-16/+20
2010-07-19Added a message passing system based on lock free queues for inter-thread ↵Michael Bebenita-0/+118
communication. Channels now buffer on the sending side, and no longer require blocking when sending. Lots of other refactoring and bug fixes.