Revision 54caee78
| b/host/lib/usrp/b100/b100_ctrl.cpp | ||
|---|---|---|
| 51 | 51 |
ctrl_data_t read(boost::uint32_t addr, size_t len); |
| 52 | 52 |
|
| 53 | 53 |
~b100_ctrl_impl(void) {
|
| 54 |
bbl_out_marauding = false; |
|
| 55 | 54 |
viking_marauders.interrupt_all(); |
| 56 | 55 |
viking_marauders.join_all(); |
| 57 | 56 |
} |
| ... | ... | |
| 67 | 66 |
bounded_buffer<ctrl_data_t> sync_ctrl_fifo; |
| 68 | 67 |
bounded_buffer<async_metadata_t> async_msg_fifo; |
| 69 | 68 |
boost::thread_group viking_marauders; |
| 70 |
bool bbl_out_marauding; |
|
| 71 | 69 |
|
| 72 | 70 |
uhd::transport::usb_zero_copy::sptr _ctrl_transport; |
| 73 | 71 |
boost::uint8_t _seq; |
| ... | ... | |
| 168 | 166 |
* wait for a control operation to finish before starting another one. |
| 169 | 167 |
**********************************************************************/ |
| 170 | 168 |
void b100_ctrl_impl::viking_marauder_loop(boost::barrier &spawn_barrier) {
|
| 171 |
bbl_out_marauding = true; |
|
| 172 | 169 |
spawn_barrier.wait(); |
| 173 | 170 |
set_thread_priority_safe(); |
| 174 | 171 |
|
| 175 |
while(bbl_out_marauding){
|
|
| 172 |
while (not boost::this_thread::interruption_requested()){
|
|
| 176 | 173 |
managed_recv_buffer::sptr rbuf = _ctrl_transport->get_recv_buff(); |
| 177 | 174 |
if(!rbuf.get()) continue; //that's ok, there are plenty of villages to pillage! |
| 178 | 175 |
const boost::uint16_t *pkt_buf = rbuf->cast<const boost::uint16_t *>(); |
Also available in: Unified diff