On Sat, 9 Jun 2007, dean gaudet wrote:
>
> for an example of a library wanting to cache an open fd ... and failing
> miserably at protecting itself from the application closing its fd read:
Heh.
Why the hell doesn't that thing just do an "fstat()" on the thing, and
compare the inode number? Not that I would guarantee that it works either
for a socket, but it would seem to make more sense than what it apparently
does now, and I think it should work at least on Linux.
(Ie linux will give fake "st_ino" numbers to sockets. Whether anybody else
will do that, I have no friggin clue. And you probably shouldn't depend on
it even under Linux, but damn, despite all of those issues, it's likely
better and more logical than what libnss-ldap apparently does now ;)
Doing a "fstat()" call is how you generally test if two fd's point to the
same file. Doing the same thing for sockets would at least be half-way
sane, and even if the OS doesn't give new sockets individual st_ino
numbers, they probably won't be *changing*.
Linus
-
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]