diff options
author | Balint Seeber <balint@ettus.com> | 2014-02-03 11:15:44 -0800 |
---|---|---|
committer | Balint Seeber <balint@ettus.com> | 2014-02-03 11:15:44 -0800 |
commit | 7431627a2a64735f958bb2ced028fd73bbd8bb68 (patch) | |
tree | 559d570b163b7281d1093e4db22056c77a61f32b /host/lib/usrp/e100/include | |
parent | 3edead271655316826864ebb8a0d9d529402f31f (diff) | |
download | uhd-7431627a2a64735f958bb2ced028fd73bbd8bb68.tar.gz uhd-7431627a2a64735f958bb2ced028fd73bbd8bb68.tar.bz2 uhd-7431627a2a64735f958bb2ced028fd73bbd8bb68.zip |
uhd: disabled atomic 'claim' check for multi-threaded access to recv_packet_demuxer_3000
The only caller is from super_packet_recv_handler, which is already not thread-safe.
The only underlying transport (libusb1_zero_copy) is thread-safe, so this shouldn't have an impact.
This solves the issue where (e.g. from GNU Radio), 'interrupt' is called on the worker thread while waiting for a join when worker thread is torn down (e.g. GR top block stop/wait/start),
which would cause the demuxer to still think the transport was claimed, as an interrupted exception will be thrown in 'wait_for_completion' in the transport, and execution will not
continue back into the demuxer to mark the transport as un-claimed, so future 'recv' streamer calls will always fail since the demux thinks the transport is still claimed from before.
Diffstat (limited to 'host/lib/usrp/e100/include')
0 files changed, 0 insertions, 0 deletions