[Image-SIG] [python-imaging-sane] get_devices and threading

Edward Cannon edward at unicornschool.org
Tue Dec 28 20:21:48 CET 2010


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


More information about the Image-SIG mailing list