[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