[python-imaging-sane] get_devices and threading

Sandro Mani <[email protected]>
Newsgroups gmane.comp.python.image
Message-ID <[email protected]>
Hi,
I wanted to execute sane.get_devices in a separate thread, i.e. consider 
the following program:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import threading
import sane
import time

devices=None

class GetDevicesThread(threading.Thread):
     def __init__(self):
         threading.Thread.__init__(self)
         self.setDaemon(True)

     def run(self):
         global devices
         #time.sleep(10)
         #devices=[]
         devices=sane.get_devices()

sane.init()
GetDevicesThread().start()
print "Detecting devices"
while devices==None:
     time.sleep(1)
     print "."
print devices

The devices=sane.get_devices() call in run() for some reason pauses the 
main thread during it's execution - if I switch the statement with the 
two commented lines above, all works as expected. Is there any 
particular reason for this behaviour?
Thanks
Sandro Mani
_______________________________________________
Image-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/image-sig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.