Messages in this thread | | | Date | Mon, 10 Aug 2009 14:28:13 +0200 | Subject | Re: rfkill rework in 2.6.31-rc, hal/dbus access changes? | From | Norbert Preining <> |
| |
Hi Johannes,
thanks a lot for your remarks, and sorry, in fact I am a complete ignorant wrt all these things, just programming what I need ;-) Some questions:
On Mo, 10 Aug 2009, Johannes Berg wrote: > Umm. That's wrong in multiple ways. You don't need threads, and you > don't need to poll. Just open /dev/rfkill, add the fd to the event loop > and read events.
Aehm, I am doing exactely what the user space rfkill event is doing. Isn't that supposed to be?
And threads I need (AFAIU) because the read from the fd will blcok until there is an event, and in the mean time the user might do something with the applet (like disabling manually the rfkill, or configuration). So one thread is listening to user events (the normal pygtk loop) and one is reading from /dev/rfkill and in case something comes in it takes the respective actions.
In python-speak I do:
fd = os.open("/dev/rfkill", os.O_RDONLY) p = select.poll() p.register(fd, select.POLLIN | select.POLLHUP) n = p.poll() if (t == select.POLLIN) buf = os.read(fd, 8) ....
Isn't that supposed to work like that?
At least that is what rfkill.c does in the event loop.
Best wishes
Norbert
------------------------------------------------------------------------------- Dr. Norbert Preining <preining@logic.at> Vienna University of Technology Debian Developer <preining@debian.org> Debian TeX Group gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094 ------------------------------------------------------------------------------- TODBER (n.) One whose idea of a good time is to stand behind his front hedge and give surly nods to people he doesn't know. --- Douglas Adams, The Meaning of Liff
| |