void aos_queue_free(aos_queue_t *queue) { if (queue == NULL) { return; } krhino_buf_queue_del(queue->hdl); aos_free(queue->hdl); queue->hdl = NULL; }
static void task_buf_queue_entry(void *arg) { kstat_t ret; size_t size; ret = krhino_buf_queue_recv(&test_buf_queue, RHINO_WAIT_FOREVER, (void *)buf_queue_recv, &size); if ((ret == RHINO_SUCCESS) && (*(uint8_t *)buf_queue_recv == 0x5a)) { notify_flag = 0x5a; krhino_buf_queue_del(&test_buf_queue); krhino_task_dyn_del(krhino_cur_task_get()); } }
/** * \brief Deinitialize usart interface */ int32_t usart_os_deinit(struct usart_os_descriptor *const descr) { ASSERT(descr); _usart_async_deinit(&descr->device); descr->io.read = NULL; descr->io.write = NULL; sem_deinit(&descr->rx_sem); sem_deinit(&descr->tx_sem); aos_mutex_free(&descr->rx_mutex); aos_mutex_free(&descr->tx_mutex); krhino_buf_queue_del(&descr->kbuf); aos_free(descr->kbuf_data); return ERR_NONE; }
static void task_queue0_entry(void *arg) { kstat_t ret; while (1) { ret = krhino_buf_queue_create(&g_test_bufqueue0, "test_bufqueue0", g_test_bufqueue_buf0, TEST_BUFQUEUE_BUF0_SIZE, TEST_BUFQUEUE_MSG_MAX); BUFQUEUE_VAL_CHK(ret == RHINO_SUCCESS); /* check krhino_buf_queue_flush param */ buf_queue_flush_param_test(); ret = krhino_buf_queue_send(&g_test_bufqueue0, g_test_send_msg0, TEST_BUFQUEUE_MSG_MAX); BUFQUEUE_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_buf_queue_send(&g_test_bufqueue0, g_test_send_msg0, TEST_BUFQUEUE_MSG_MAX); BUFQUEUE_VAL_CHK(ret == RHINO_BUF_QUEUE_FULL); ret = krhino_buf_queue_flush(&g_test_bufqueue0); BUFQUEUE_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_buf_queue_send(&g_test_bufqueue0, g_test_send_msg0, TEST_BUFQUEUE_MSG_MAX); BUFQUEUE_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_buf_queue_del(&g_test_bufqueue0); BUFQUEUE_VAL_CHK(ret == RHINO_SUCCESS); if (test_case_check_err == 0) { test_case_success++; PRINT_RESULT("buf queue flush", PASS); } else { test_case_check_err = 0; test_case_fail++; PRINT_RESULT("buf queue flush", FAIL); } next_test_case_notify(); krhino_task_dyn_del(task_0_test); } }