xiaoxiang781216 commented on issue #16688: URL: https://github.com/apache/nuttx/issues/16688#issuecomment-3047309283
> ### Is your feature request related to a problem? Please describe. > > This is a followup of [!16555](https://github.com/apache/nuttx/issues/16555) that solved the issue of non working DGRAM sockets. > ### Describe the solution you'd like > > Polling for Unix datagram sockets (`SOCK_DGRAM`) is currently not implemented. The implementation to `local_netpoll.c` seems pretty straightforward (at least for `POLLIN`), just create receiver if it doesn't exist (default state for the datagram, basically the same as in `psock_dgram_recvfrom` and call `file_poll`. The behavior of poll is still not as expected though, because it returns `POLLHUP` right after the poll is called. But this event should not return on datagram sockets as they are not connection oriented. > we can hack fifo/pipe to change the behavior a little bit, actually the hook already exist: https://github.com/apache/nuttx/blob/master/include/nuttx/fs/ioctl.h#L488-L493 > This bring us back to the same issue [@Cynerd](https://github.com/Cynerd) already faced with stream sockets in [#14667](https://github.com/apache/nuttx/pull/14667). NuttX sockets are implemented with fifos and pipes, but the expected behavior of local sockets (both stream and dgram) is a bit different from pipes. > The implementation of polling for DGRAM would probably require the rewrite of local sockets and reimplementation with internet socket code base instead of fifos/pipes. this method need rewrite the whole local socket which is a huge work. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org