[sane-devel] gt68xx - sane_open() afrer sane_close()

Aleksandr Dezhin me at dezhin.net
Tue Jul 31 17:45:36 UTC 2012


Sorry, but it seems I misled you. I found additional call to get_devices 
in pysane library used to get device model and manufacturer before open. 
So in terms of the standard all looks correctly.

Now I am unable to check the situation without this call. But I will 
check it and write about the results.

On 07/31/2012 08:27 PM, m. allan noah wrote:
> I would try it, and see if the device_id is the same in both calls to
> sane_open. In either case, I think this is a bug in the backend. Sane
> standard says about sane_get_devices:
>
> "The returned list is guaranteed to remain unchanged and valid until
> (a) another call to this function is performed or (b) a call to
> sane_exit() is performed."
>
> So, sane_close should not invalidate the device.
>
> allan
>
> On Tue, Jul 31, 2012 at 12:15 PM, Aleksandr Dezhin <me at dezhin.net> wrote:
>> Calling sane_get_devices() before each sane_open() something helps isolate
>> the problem? I am trying to develop a program that works a dozen devices at
>> the same time. Asurvey of all the devices at each operation seems to me
>> something strange.
>>
>> On 07/31/2012 06:23 PM, m. allan noah wrote:
>>> It is possible that this is a bug in that backend. perhaps you should
>>> call sane_get_devices again?
>>>
>>> allan
>>>
>>> On Tue, Jul 31, 2012 at 10:13 AM, Aleksandr Dezhin <me at dezhin.net> wrote:
>>>> Hello,
>>>>
>>>> As I wrote, I'm trying to develop web interface for SANE. I am developing
>>>> it
>>>> using Python.I do not want to lock device so that other WSGI-proccess
>>>> instances can access it. Atypical code flow is as follows:
>>>>
>>>> sane_init()
>>>> sane_get_devices()
>>>>
>>>> // user selected device, showing page with capabilities
>>>> sane_open(device_id)
>>>> sane_get_option_description()
>>>> sane_close()
>>>>
>>>> // user requested to scan page
>>>> sane_open(device_id)
>>>> sane_control_option()
>>>> sane_start()
>>>> sane_read()
>>>> sane_cancel()
>>>> sane_close()
>>>>
>>>> // program exitting
>>>> sane_exit()
>>>>
>>>> Canon LiDE 210 with genesys backend or HPLIP works as expected, but
>>>> Mustek
>>>> Bearpaw 1200 CU Plus with gt68xx fails open_device() secondly, after
>>>> sane_close(). If I skip first open()/close() - second block works
>>>> correctly.
>>>> What is this? Bug or feature?
>>>>
>>>> Sorry I can not give an example of a simple program in C. If it helps I
>>>> can
>>>> send a link to the repository with my application. It contains some
>>>> modified
>>>> version of the python C extension from pysane.
>>>>
>>>> Thanks.
>>>>
>>>> --
>>>> sane-devel mailing list: sane-devel at lists.alioth.debian.org
>>>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
>>>> Unsubscribe: Send mail with subject "unsubscribe your_password"
>>>>               to sane-devel-request at lists.alioth.debian.org
>>>
>>>
>>
>> --
>> sane-devel mailing list: sane-devel at lists.alioth.debian.org
>> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
>> Unsubscribe: Send mail with subject "unsubscribe your_password"
>>              to sane-devel-request at lists.alioth.debian.org
>
>




More information about the sane-devel mailing list