unknown
1970-01-01 00:00:00 UTC
Is there interest from the rtl-sdr maintainers in my pursuing this?
I ask because I keep getting close, but haven't conquered the edge
cases. In particular, when things go wrong I can still get hangs or
segfaults, because libusb_submit_transfer() and libusb_cancel_transfer()
do not give reliable information about whether the callback will be
subsequently be called: even with error returns, sometimes it is and
sometimes it isn't. There may be a way to determine from the specific
error value, but that behavior isn't documented. Without well-defined
behavior, I can't tell when it's safe to release the transfer buffer.
Personally, I'd like to see this made robust and could keep working on
it along a couple paths, but if there's little interest in taking the
patches I'll just go with something that works in my environment with
the specific libusb versions I have to deal with.
Peter
I ask because I keep getting close, but haven't conquered the edge
cases. In particular, when things go wrong I can still get hangs or
segfaults, because libusb_submit_transfer() and libusb_cancel_transfer()
do not give reliable information about whether the callback will be
subsequently be called: even with error returns, sometimes it is and
sometimes it isn't. There may be a way to determine from the specific
error value, but that behavior isn't documented. Without well-defined
behavior, I can't tell when it's safe to release the transfer buffer.
Personally, I'd like to see this made robust and could keep working on
it along a couple paths, but if there's little interest in taking the
patches I'll just go with something that works in my environment with
the specific libusb versions I have to deal with.
Peter