id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 9476,boost::iostreams::copy - sink - ENOSPC (No space left on device) error handling,anonymous,Jonathan Turkanis,"Platform: GCC on Linux; boost 1.55. In the code fragment below, is there a way to handle ENOSPC? {{{ #include #include #include #include #include // open input file stream of the bzip2 file std::ifstream ifs(""file.bz2""); // open output stream to the ""full"" device // full device is a ""utility-device"" to check how applications handle ENOSPC // more details in ""man full"" std::ofstream ofs(""/dev/full""); // Setup the iostreams filter boost::iostreams::filtering_streambuf filters; filters.push(boost::iostreams::bzip2_decompressor()); filters.push(ofs); // ""run"" the filter boost::iostreams::copy(ifs, filters); }}} If I do strace of the compiled binary, the code seem to infinitely call writev() with the same data and returns ENOSPC error. {{{ writev(4, [{NULL, 0}, {""DATA DATA ""..., 4096}], 2) = -1 ENOSPC (No space left on device) }}} How can this error be handled or made thrown as an error from `boost::iostreams::copy()` Is it possible to set appropriate exceptions() on the ofstream object? I tried `ofs.exceptions(std::ios::badbit | std::ios::failbit)` but it didn't make any difference. ",Bugs,new,To Be Determined,iostreams,Boost 1.55.0,Problem,,,