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  -  Image-SIG@python.org
http://mail.python.org/mailman/listinfo/image-sig

Reply via email to