void sync_deinit(struct bladerf_sync *sync) { if (sync != NULL) { if (sync->stream_config.module == BLADERF_MODULE_TX) { async_submit_stream_buffer(sync->worker->stream, BLADERF_STREAM_SHUTDOWN, 0); } sync_worker_deinit(sync->worker, &sync->buf_mgmt.lock, &sync->buf_mgmt.buf_ready); /* De-allocate our buffer management resources */ free(sync->buf_mgmt.status); free(sync); } }
void sync_deinit(struct bladerf_sync *sync) { if (sync->initialized) { if ((sync->stream_config.layout & BLADERF_DIRECTION_MASK) == BLADERF_TX) { async_submit_stream_buffer(sync->worker->stream, BLADERF_STREAM_SHUTDOWN, 0, false); } sync_worker_deinit(sync->worker, &sync->buf_mgmt.lock, &sync->buf_mgmt.buf_ready); /* De-allocate our buffer management resources */ if (sync->buf_mgmt.status) { MUTEX_DESTROY(&sync->buf_mgmt.lock); free(sync->buf_mgmt.status); } MUTEX_DESTROY(&sync->lock); sync->initialized = false; } }