[Image-SIG] [python-imaging-sane] get_devices and threading
Fredrik Lundh
fredrik at pythonware.com
Fri Jan 7 16:49:02 CET 2011
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 <edward at 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 <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
>>
> _______________________________________________
> Image-SIG maillist - Image-SIG at python.org
> http://mail.python.org/mailman/listinfo/image-sig
>
More information about the Image-SIG
mailing list