Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.LINUX
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.LINUX с датами от 24 Jan 02 06:01:34 до 09 May 24 04:21:10, всего сообщений: 8280
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 8251 из 8280 ========================================= RU.LINUX =
От   : Denis Sovkov                     2:5020/570.77      29 Nov 23 22:08:04
Кому : All                                                 29 Nov 23 22:08:04
Тема : Непонятки с read и write
FGHI : area://RU.LINUX?msgid=2:5020/570.77+65678c27
= Кодировка сообщения определена как: CP866 ==================================
Ответ: area://RU.LINUX?msgid=2:5015/46+65679022
==============================================================================
* Forwarded from ru.unix by Denis Sovkov (2:5020/570.77).
* Originally by: Denis Sovkov (2:5020/570.77), 29 Nov 23 22:02.
* Originally to: all.


   Hello everybody!


 Ситауция следующая: имеем программу, программа открывает /dev/ttyUSB0 с флагом O_RDWR - можно как записывать, так и читать. В программе два параллельных потока - один раз в 3 секунды записывать текстовыю строку в открытый дескриптор, другой считывает оттуда присланную строку ПОБАЙТНО внешним устройством тогда, когда сможет и выводит на экран. Проблема в том, что во входные данные попадает часть того, что пишется в дескриптор, причем независимо от времени. Пробовал защищать дескриптор мютексом - не помогло, мусорные данные все равно попадают на вход (кстати, нужные данные при этом тоже считываются). Пробовал ставить флаг O_DSYNC - тоже не помогло. Мозможно, нужно очищать буфер (какой и как?) сразу после отправки строки. В потоках буферы используются разные - для каждого потока свой. Имею ввиду очистку выходного буфера, который пишет write. ЧЯДНТ? Куда копать?


Denis


--- GoldED+/LNX 1.1.5-b20180707
* Origin:  ----> Default GoldED Origin <----  (2:5020/570.77)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.110132 секунды