Matto> While a scan is in progress, the microtek backend responds to
Matto> any requests to change parameters with
Matto> SANE_STATUS_DEVICE_BUSY... Is this a reasonable behavior?
Matto> This response is actually not enumerated as a valid response
Matto> to sane_control_option in the API documentation. Should the
Matto> frontend retry on its own volition, or pop up an error for
Matto> the user and drop the issue?
Yeah, this has been a long-standing issue that hasn't been fully resolved
yet.
I see two reasonable solutions:
1. Make sane_start() return a special status value when the backend
does not want to see any control_option() calls while a scan is in
progress (e.g., something like
SANE_STATUS_IN_PROGRESS_DO_NOT_TOUCH_OPTION_SETTINGS but maybe not
quite as verbose... ;-)
2. Add a option descriptor bit to indicate which options are busy
during a scan (i.e., which options can't be modified while a scan
is in progress).
I currently favor the first solution since its simpler and since I'm
not sure how often there would be backends that have some but not all
options being busy while a scan is in progress. Other opinions?
--david
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com