LINUX.ORG.RU

Python,dbus и select


0

0

Проблема такая, есть класс, который должен наблюдать за файлом устройства, и при приходе данных говорить об это через DBus. Тут всё ок, ожидание в select. НО также надо иметь возможность сказать этому же кдассу писать некторые данные в файл. Тут уже есть проблемы, тк скрипт заблокирован selectом. Потоки использовать не очень хочется:( Может кто знает, как получить дескриптор файла, через который идёт обмен с DBus, и принудетльно вызвать обработку событий в gobjectном mainloope. Спасибо.

anonymous

А зачем тебе select-то. Делай класс таким образом, как написано:

http://dbus.freedesktop.org/doc/dbus-tutorial.html#python-server

А за файлом смотри вот так:

http://www.pygtk.org/pygtk2reference/gobject-functions.html#function-gobject-...

Вобщем делай все действия, как реакции на события - event-driven programming, что называется. В файл пиши маленькими блоками, чтобы не блокировать цикл событий по таймауту или по idle

Если не получится, придётся нити делать, куда уже денешься.

welkam ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.