wengzhe opened a new pull request, #10608:
URL: https://github.com/apache/nuttx/pull/10608

   ## Summary
   Normally, `SO_ERROR` for disconn events will be set by 
`tcp_poll_eventhandler`, but when the socket is closed before poll, we should 
also set the `SO_ERROR`.
   
   On Linux, `tcp_poll` returns `EPOLLERR` event when `sk->sk_err` has value 
but doesn't let `poll` fail (doesn't set `errno`). 
https://github.com/torvalds/linux/blob/v6.5/net/ipv4/tcp.c#L594-L596
   Note: `sk->sk_err` can be get by socket option `SO_ERROR` on Linux, so 
`POLLERR` will always be together with `SO_ERROR`.
   
   Common libs like curl may try to read `SO_ERROR` on `POLLERR`.
   
   ## Impact
   `tcp_pollsetup` and `SO_ERROR` only
   
   ## Testing
   Manually.
   
   


-- 
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