URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7604
[ Назад ]

Исходное сообщение
"Проблема использования двух обьектов Device::SerialPort."

Отправлено mthawk , 23-Сен-08 02:41 
Здравствуйте.
Стоит задача одновременно опрашивать 2 устройства сидящих на ком-портах.
Причем опрашивать именно _одновременно_. Реализую с помошью threads.
Один трид создает свой объект подключения к одному порту, другой - другому.
Все переменные локализованы в my и закрыты внутри трида.
Но на практике только один трид получает доступ к своему порту.
Причем довольно рандомно. То один, то другой.
Оставшийся "без порта" трид при попытке записи в порт валит на консоль следующее:

Use of uninitialized value in subroutine entry at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Device/SerialPort.pm line 1732.
3ځUse of uninitialized value in vec at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Device/SerialPort.pm line 1405.
Use of uninitialized value in vec at /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/Device/SerialPort.pm line 1405.


Что я мог не учесть? Есть мысли?
Заранее спасибо.


Содержание

Сообщения в этом обсуждении
"Проблема использования двух обьектов Device::SerialPort."
Отправлено Аноним , 24-Сен-08 18:34 
>Что я мог не учесть?

Глобальные переменные модуля ;)


"Проблема использования двух обьектов Device::SerialPort."
Отправлено mthawk , 25-Сен-08 15:01 
>>Что я мог не учесть?
>
>Глобальные переменные модуля ;)

Это реально исправить?
Перерыть сорс .pm и позакрывать все обьявления переменных на my ???
Если заработает - мне повезло? ;)