Fix `poll()` handling for DTLS clients when the underlying socket is an offloaded socket. As in this case no `k_poll()` is used underneath, it's not possible to monitor the handhshake status with `tls_established` semaphore. Instead, do the following: 1. If no handhshake is in progress yet, just drop the incoming data - it's the client who should initiate the handshake, any data incoming before that should not be processed. 2. If handshake is currently in progress, lift the `POLLIN` flag and add small delay to allow the other thread to proceed with the handshake. 3. Otherwise, just proceed as usual. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| getaddrinfo.c | ||
| getnameinfo.c | ||
| Kconfig | ||
| socket_offload.c | ||
| socketpair.c | ||
| sockets_can.c | ||
| sockets_internal.h | ||
| sockets_misc.c | ||
| sockets_net_mgmt.c | ||
| sockets_packet.c | ||
| sockets_select.c | ||
| sockets_tls.c | ||
| sockets.c | ||