non-symmetric Unix dgram sockets and poll
From: Alban Crequy <hidden>
Date: 2011-02-02 17:38:58
Hi, I have 3 Unix dgram sockets (sockA, sockB, sockC): - sockA is connected to sockB. - sockB is connected to sockC. - sockC is not connected. SockA cannot send any message to sockB because net/unix/af_unix.c::unix_may_send() prevents it. Is there any reason for that restriction? If it was possible to send that message, unix_dgram_poll() on sockB could be in a situation where it needs to add the current process in 2 different wait queues: - sk_sleep(sk) for POLLIN (messages coming from sockA) - &unix_sk(other)->peer_wait for POLLOUT (to send messages to sockC) Is it correct? Thanks, Alban