| 804 | #endif |
| 805 | |
| 806 | static void at_recv_notice_cb(struct at_socket *sock, at_socket_evt_t event, const char *buff, size_t bfsz) |
| 807 | { |
| 808 | RT_ASSERT(buff); |
| 809 | RT_ASSERT(event == AT_SOCKET_EVT_RECV); |
| 810 | |
| 811 | /* check the socket object status */ |
| 812 | if (sock->magic != AT_SOCKET_MAGIC || sock->state == AT_SOCKET_CLOSED) |
| 813 | { |
| 814 | rt_free((void *)buff); |
| 815 | return; |
| 816 | } |
| 817 | |
| 818 | /* put receive buffer to receiver packet list */ |
| 819 | rt_mutex_take(sock->recv_lock, RT_WAITING_FOREVER); |
| 820 | if (at_recvpkt_put(&(sock->recvpkt_list), buff, bfsz) != RT_EOK) |
| 821 | { |
| 822 | rt_free((void *)buff); |
| 823 | rt_mutex_release(sock->recv_lock); |
| 824 | return; |
| 825 | } |
| 826 | rt_mutex_release(sock->recv_lock); |
| 827 | |
| 828 | rt_sem_release(sock->recv_notice); |
| 829 | |
| 830 | at_do_event_changes(sock, AT_EVENT_RECV, RT_TRUE); |
| 831 | } |
| 832 | |
| 833 | static void at_closed_notice_cb(struct at_socket *sock, at_socket_evt_t event, const char *buff, size_t bfsz) |
| 834 | { |
nothing calls this directly
no test coverage detected