call to pypcap in separate thread blocks other threads
Dmitry Teslenko
dteslenko at gmail.com
Wed Dec 30 07:34:31 EST 2009
Hello!
I'm making gui gtk application. I'm using pypcap
(http://code.google.com/p/pypcap/) to sniff some network packets.
To avoid gui freezing I put pcap call to another thread.
Pypcap call looks like:
pc = pcap.pcap()
pc.setfilter('tcp')
for ts, pkt in pc:
spkt = str(pkt)
...
Sadly, but this call in another thread blocks gtk gui thread anyway.
If I substitute pcap call with something else separate thread don't block
gui thread.
Using another process instead of thead isn't appropriate.
Thread initialization looks like and takes place before gtk.main():
self.__pcap_thread = threading.Thread(target = self.get_city_from_pcap)
self.__pcap_thread.start()
--
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing in e-mail?
More information about the Python-list
mailing list