lkml.org 
[lkml]   [2002]   [Aug]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
DateWed, 7 Aug 2002 18:56:06 +0300
FromMatti Aarnio <>
SubjectRe: UNIX domain socket hanging around when not closed
On Wed, Aug 07, 2002 at 05:32:51PM +0200, Jan Hudec wrote:
> Hello,
>
> I have a (possibly stupid) question. Is it OK, that dentries created by
> binding unix-domain sockets remain in filesystem?

That is the classical behaviour, possibly because of tradition
where they relate to named pipes created with mknod(1) command.

http://www.ecst.csuchico.edu/~beej/guide/ipc/usock.html

> What I do is create a unix socket in /tmp and wait for clients to
> connect in. The program removes the socket dentry when it shuts down,
> but it sometimes crashes and the socket remains there.
>
> Is there some reason the socket should remain unless explicitely
> removed?

Traditional is also to unlink() the socket name just prior
to bind(3):ing it just in case there is a left-over entity
with that name.


The object name (it is NAMED entity, after all) space is
filesystem name space. I don't see any reason why not:

- There could pre-exist the named socket (at a R/O
filesystem), and no new name needs to be allocated
in the filesystem for it.

- The entire named entity would not be allowed to
exist purely in VFS space, that is: creation wise
the permission verification could ignore location
directory being on a read/only file system, and
just use directory permissions. (Questions about
memory expenditure, etc. all kinds of trade-offs.)

What the new POSIX writes about the issue, that I haven't
yet looked into.

> Jan 'Bulb' Hudec <bulb@ucw.cz>

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

\
 
 \ /
  Last update: 2005-03-22 13:27    [from the cache]
©2003-2010