On Tue, 2006-11-07 at 09:47 +0800, Bin Chen wrote:
> Sorry for cross post, it has been posted on
> comp.os.linux.development.apps.
>
> I wrote a domain socket sever, which is a STREAM type, let it listen a
> sun_path, and in a while loop it accept new connections. I analyze it
> using netstat.
>
> Abstractly, the communication need two end. Even the listen socket is
> only one, each time the accept returns, there should be two end
> produced: one by connect() issued by client, one by accept() issued by
> server. These two should have different inode number.
Why should they?
The filename (actually and more to the point: the i-node) in the
filesystem is just an "anchor" so that the clients can find the server
(if you have several servers on your system, they *must* have different
filenames to bind(2) to).
> What is strange is that I sometimes find the RefCnt of some unix domain
> socket have values 2,3,4,5,6,7 or even 258, if each connection in
> stream should be in pair, why this problem occurs?
Probably (because I didn't look at source code) because every connect(2)
and/or accept(2) sys-call increments it.
And BTW I assume that you meand the in memory ref count, not the one in
the inode on the disk (which is incremented with hardlinks).
Bernd
--
Firmix Software GmbH http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
Embedded Linux Development and Services
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]