Well, I'd say scanning falls under the "image stuff" umbrella, and the Sane bindings are shipped with the PIL source code... I don't know much about them, though, but I suspect this is a Python GIL issue.
</F> 2010/12/28 Edward Cannon <edw...@unicornschool.org>: > wrong mailing list, this is for PIL and related topics only. Try a > sane specific mailing list > > On Mon, Dec 27, 2010 at 8:58 AM, Sandro Mani <manisan...@gmail.com> wrote: >> 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-...@python.org >> http://mail.python.org/mailman/listinfo/image-sig >> > _______________________________________________ > Image-SIG maillist - image-...@python.org > http://mail.python.org/mailman/listinfo/image-sig > _______________________________________________ Image-SIG maillist - Image-SIG@python.org http://mail.python.org/mailman/listinfo/image-sig