Myp
26.11.2012 07:19 Work
Если в двух словах, то у меня есть некий elf который выплевывает в stdout некие строки. tcl скрипт делает Wait и если нужный ответ наличиствует, то производит некие действия. С некоторых пор elf-ник стал работать быстрее. Настолько, быстрее, что tcl перестает поспевать и начинает свой Wait тогда, когда ожидаемый аутпут УЖЕ напечатан. Собсно тесткейз в пизду. Можно как то научить tcl быть менее слоупочным или хавать не только то, что пришло после Wait, но и пару строк повыше?
Очевидно, ты пытаешься сделать кривую синхронизацию собственного скрипта с неблокирующим вводом/выводом на одних лишь задержках. Это ненадёжно и заведомо не будет работать при превышении скоростью поступления сообщений скорости выполнения скрипта. Используй блокирующий ввод/вывод, тогда операция чтения сама будет останавливаться и ждать новой порции данных, но только в этом случае программа может тормозиться скриптом, смотри сам, подходит это или нет. Если всплески кратковременные и максимально близкий к реалтайму отклик скрипта не важен, можешь буферизацию добавить и разбирать потихоньку.
/me нихуя не знает про Tcl, но совет всегда готов дать.