Odd behaviour of UNIX domain sockets

Martijn van Oosterhout (s3100411@student.anu.edu.au)
Tue, 29 Jun 1999 23:39:18 +1000


Hi,

I'm using UNIX domain sockets for one of my current
projects and come up with a few things I would like
explained but are described in my book (UNPv1 by
W.R. Stevens). Maybe they are described by POSIX?

1. fchown(), fchmod(), etc all succeed and fstat()
returns the updated values. But on a bound listen
socket it doesn't change the values on disk. Isn't
this strange?

2. When you delete the file that is created with bind()
and a process is waiting in accept(), shouldn't this
accept() fail if the file gets deleted?

3. SO_REUSEADDR doesn't work. Should it?

4. If a socket exists as a file on the disk and no other
process is currently using it, how can bind() reasonably
return EADDRINUSE?

Please CC any replies, I read this through an HTML gateway.

PS: if setgid( getegid() ) succeeds, shouldn't your EGID match
your GID?

Martij van Oosterhout
Australia

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/