Boost C++ Libraries: Ticket #4913: file_descriptor_impl::read doesn't handle EINTR https://svn.boost.org/trac10/ticket/4913 <p> when using boost::iostreams::stream_buffer&lt;boost::iostreams::file_descriptor_source&gt;, reads from the stream may unnecessarily set the badbit flag. the reason is that in the underlying call to read() the EINTR condition is not handled. the read() should be restarted in this case. </p> <p> i'm attaching a non tested patch. it does the same thing that libstdc++ does (function <span class="underline">basic_file&lt;char&gt;::xsgetn). </span></p> <p> this is easy to reproduce in gdb. here's why: <a class="ext-link" href="http://sourceware.org/gdb/onlinedocs/gdb/Interrupted-System-Calls.html"><span class="icon">​</span>http://sourceware.org/gdb/onlinedocs/gdb/Interrupted-System-Calls.html</a> </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4913 Trac 1.4.3 Todor Buyukliev <todor@…> Tue, 30 Nov 2010 16:12:09 GMT attachment set https://svn.boost.org/trac10/ticket/4913 https://svn.boost.org/trac10/ticket/4913 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">file_descriptor.patch</span> </li> </ul> Ticket Marshall Clow Tue, 30 Nov 2010 16:22:46 GMT component changed; owner set https://svn.boost.org/trac10/ticket/4913#comment:1 https://svn.boost.org/trac10/ticket/4913#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Jonathan Turkanis</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">iostreams</span> </li> </ul> Ticket