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

Reply via email to