[CentOS] odd situation slightly off topic (sending file descriptors to another process)
Jerry Geis
geisj at pagestation.com
Thu Aug 19 20:22:45 UTC 2010
Jerry Geis wrote:
> I have coded up the standard sendfd() and recvfd() for linux to send
> and recv file descriptors.
> seems to work
> (http://book.chinaunix.net/special/ebook/addisonWesley/APUE2/0201433079/ch17lev1sec4.html)
>
> however when I recvfd() my number of open file descriptors bumps by 2
> and not 1. (using lsof -p X | wc -l)
>
> I am not sure why the count jumps by 2 and not 1. The sendfd() is just
> sending a socket descriptor.
> If I close() the provided descriptor it only closes 1 handle (again
> using lsof above).
>
> So my recvfd() is giving me 2 but when I close() I only drop 1 and not
> 2. Something is not in alignment
> and just wondering if someone can shed some light on this. Thanks.
>
> Jerry
>
Here is a diff of the lsof output when a new connection is made and the
old connection is closed. The lingering /dev/null is evident. I dont
know where that
is from nor why it does not close upon calling close().
Jerry
13d12
< kendra 13162 root 4u IPv4 999539 TCP
devcentos5x64.msgnet.com:6520->am2mm.msgnet.com:52047 (ESTABLISHED)
> kendra 13162 root 61u IPv4 999634 TCP
devcentos5x64.msgnet.com:6520->am2mm.msgnet.com:60390 (ESTABLISHED)
73a74
> kendra 13162 root 66r CHR 1,3 1749
/dev/null
More information about the CentOS
mailing list