Re[3]: Непонятная ошибка при закрытии дескриптора файла
От: skl  
Дата: 28.09.14 16:07
Оценка:
Здравствуйте, Zhendos, Вы писали:


Z>Вы точно в этом уверены? неблокирующий read, это не async, указатель никуда не копируется

Z>и в фоне никакие IO операции не производятся.

Z>Он(read) просто скопирует в буфер то, что есть в буфере ОС и отдаст управление,

Z>после этого с буфером можно делать что угодно. И файл можно без проблем закрыть.

Z>PS

Z>Хотя код конечно странно выглядит, взять хотя бы ручную реализацию std::fill/memset
Z>перед read.

Про NONBLOCK — уверен. Я даже пробовал не читать, а писать (фук-ей write) в обычный текстовый файл (открытый без всяких NONBLOCK) и после этого закрывать файл и тоже падает на close().

Про std::memset — конечно лучше. В данном коде я просто вручную забил нулями буфер через for чтобы быть уверенным что дело в не в memset().
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.