Nп/п : 73 из 100
От : Nil A 2:5015/46 29 ноя 23 22:23:44
К : Denis Sovkov 29 ноя 23 22:28:02
Тема : Непонятки с read и write
----------------------------------------------------------------------------------
@MSGID: 2:5015/46 65679022
@REPLY: 2:5020/570.77 65678c27
@CHRS: CP866 2
@TZUTC: 0300
@TID: hpt/lnx 1.9.0-cur 2021-05-15
Hello, Denis!
Wednesday November 29 2023 22:08, from Denis Sovkov -> All:
DS> Ситауция следующая: имеем программу, программа открывает /dev/ttyUSB0
DS> с флагом O_RDWR - можно как записывать, так и читать. В программе два
DS> параллельных потока - один раз в 3 секунды записывать текстовыю строку
DS> в открытый дескриптор, другой считывает оттуда присланную строку
DS> ПОБАЙТНО внешним устройством тогда, когда сможет и выводит на экран.
DS> Проблема в том, что во входные данные попадает часть того, что пишется
DS> в дескриптор, причем независимо от времени.
Возможно, там где-то написано, что операции с сериальным /dev/ttyUSB
не thread-safe.
А что тебе мешает в потоке номер 1 просто сделать
slect()/poll()/epoll() на выбор и пиши/читай, и делай после этого что тебе надо.
Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: Linux 2.6.32-042stab145.3 (2:5015/46)
SEEN-BY: 46/49 50/361 221/6 240/1120 250/25 301/1
341/66 450/1024 452/28
SEEN-BY: 455/19 460/58 463/68 467/888 5000/111
5001/100 5005/49 5010/352
SEEN-BY: 5015/42 46 120 147 255 5019/40 400
5020/101 113 545 620 715 830 846
SEEN-BY: 5020/848 1042 2038 2992 4441 12000
5022/128 5030/49 115 500 1081
SEEN-BY: 5030/1474 1900 5036/26 5050/151 5053/51 58
5054/8 89 5058/104
SEEN-BY: 5059/37 5060/900 5061/133 5083/1 444
6035/4 6078/80 6090/1
@PATH: 5015/46 5020/1042 4441