| 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 | { |
| 835 | RT_ASSERT(event == AT_SOCKET_EVT_CLOSED); |
| 836 | |
| 837 | /* check the socket object status */ |
| 838 | if (sock->magic != AT_SOCKET_MAGIC) |
| 839 | { |
| 840 | return; |
| 841 | } |
| 842 | |
| 843 | at_do_event_changes(sock, AT_EVENT_RECV, RT_TRUE); |
| 844 | at_do_event_changes(sock, AT_EVENT_ERROR, RT_TRUE); |
| 845 | |
| 846 | sock->state = AT_SOCKET_CLOSED; |
| 847 | rt_sem_release(sock->recv_notice); |
| 848 | } |
| 849 | |
| 850 | #ifdef AT_USING_SOCKET_SERVER |
| 851 | int at_listen(int socket, int backlog) |
nothing calls this directly
no test coverage detected