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