Boost C++ Libraries: Ticket #11049: lockfree::spsc_queue read/write_available unsafe https://svn.boost.org/trac10/ticket/11049 <p> ringbuffer_base::read_available() and ringbuffer_base::write_available() both load write_index_ and read_index_ using relaxed memory order. read_available() should be used by the consumer, and thus should load write_index_ with memory_order_acquire. similarly, write_available() should be used by the producer, and thus should load read_index_ with memory_order_aquire. in addition, the comment for both functions is backwards, stating read_available() should only be called by the producer while write_available() should only be called by the consumer, which makes no sense. finally, the comment on front() is unclear in which thread is allowed to call it, but only the consumer can call front() </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11049 Trac 1.4.3 timblechmann Fri, 20 Feb 2015 06:46:03 GMT <link>https://svn.boost.org/trac10/ticket/11049#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11049#comment:1</guid> <description> <p> would you mind to submit a pull request on github? </p> </description> <category>Ticket</category> </item> <item> <author>Nate C <crzftx@…></author> <pubDate>Fri, 10 Apr 2015 17:07:13 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/11049#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11049#comment:2</guid> <description> <p> alright, I think I've done that now. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>timblechmann</dc:creator> <pubDate>Sat, 11 Apr 2015 21:09:47 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/11049#comment:3 https://svn.boost.org/trac10/ticket/11049#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> thnx! </p> Ticket