RU.UNIX------------------ < Пред. | След. > -- < @ > -- < Сообщ. > -- < Эхи > --
 Nп/п : 31 из 56
 От   : Eugene Grosbein                     2:5006/1          30 ноя 23 12:10:31
 К    : Denis Sovkov                                          30 ноя 23 11:01:01
 Тема : Re: Hепонятки с read и write
----------------------------------------------------------------------------------
                                                                                 
@MSGID: grosbein.net ebf6b900
@REPLY: 2:5020/570.77 65678bae
@RFC-Reply-To: eugen@grosbein.net
@RFC-X-newsgroup: nkz.fido.ru.unix
@RFC-X-RealName: Eugene Grosbein
29 нояб. 2023, среда, в 22:02 NOVT, Denis Sovkov написал(а):

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

Похоже на то, что у устройства, подключенного через USB,
включено эхо ввода. И ему надо его выключить.

У старых аналоговых модемов такое было и у других устройств
с terminal line discipline тоже. 

Что за устройство?

Eugene
--- slrn/1.0.3 (FreeBSD)
 * Origin: RDTC JSC (2:5006/1@fidonet)
SEEN-BY: 221/6 250/25 301/1 341/66 463/68 467/888
4500/1 5000/111 5001/100
SEEN-BY: 5003/17 5005/49 5006/1 8 5015/42 46
5019/40 5020/113 545 715 828 830
SEEN-BY: 5020/846 848 1042 2038 2332 2992 4441
12000 5022/128 5030/49 115 500
SEEN-BY: 5030/1081 1474 5049/1 3 5053/51 5054/8 89
5058/104 5061/133 5080/31
SEEN-BY: 5080/102 172 245 5083/1 444 6090/1
@PATH: 5006/1 5080/102 5030/49 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх