Re[2]: Непонятная ошибка при закрытии дескриптора файла
От: skl  
Дата: 28.09.14 14:33
Оценка:
Здравствуйте, c-smile, Вы писали:

CS>Здравствуйте, skl, Вы писали:


skl>>2) Я понимаю, что это скорее сишный код в методе, но я не знаю как с помощью файловых потоков С++ задать неблокируемый режим для файла на чтение (т. е. флаг O_NONBLOCK). Буду благодарен за подсказку как это сделать при помощи файловых потоков С++.


CS>Ты зовешь read() и не дожидаясь его завершения — close() и более того разрушаешь буффер. понятно что упадет где-нибудь.


CS>Мне кажется тв не понимаешь как работатет O_NONBLOCK — т.е. не блокирующий IO


CS>http://www.kegel.com/dkftpbench/nonblocking.html



Может быть не понимаю, спасибо почитаю по ссылке.

И я привел только существенную часть из кода функции, остальное отсюда убрал чтобы не загораживать лишним.

Это выносил из функ-ции в privite класса:

int barcode_fd;
char buf_barcode[150];

Результат тот же был — падение на close.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.