This question goes to network gurus...
I have browsed linux sources, looking for reason why unix domain
sockets are slow, and met things I do not understand:
What are credentials, scm_cookies, etc.? Are there somehow accessible
from userland? It looks so from comment near scm_check_creds... But I
can not find anything in man2 pages, and it looks to me like they are
only slowing things down...
Question/2: with stream-ish unix domain sockets, is it possible that
more than two processes are connected? Following code from
unix_stream_recvmsg says to me it is possible...
/* Never glue messages from different writers */
if (check_creds &&
memcmp(UNIXCREDS(skb), &scm->creds,
sizeof(scm->creds)) != 0)
Also, is it possible, that during unix_stream_sendmsg unix_peer()
changes? (i.e. I start talking to someone else during call?) If not,
why is not other filled only once at beggining of unix_stream_sendmsg?
Confused,
Pavel
-- I'm really pavel@atrey.karlin.mff.cuni.cz. Pavel Look at http://atrey.karlin.mff.cuni.cz/~pavel/ ;-).