On Thu, 7 Jun 2007, Alan Cox wrote:
> > I don't think it's a matter of versioning. Many userspace libraries
> > expects their fds to be compact (for many reasons - they use select, they
> > use them to index 0-based arrays, etc...), and if the kernel suddendly
> > starts returning values in the 1<<28 up arena, they sure won't be happy.
> > So I believe that the correct way is that the caller specifically selects
> > the feature, leaving the legacy fd allocation as default.
>
> I don't understand the connection between this paragraph (with which I
> agree) and the urge to add a ton of ugly syscall hacks. "Caller
> specifically selects feature" - > prctl(). Libraries get unhappy ->
> linker issue.
I meant, caller specifically selects the feature, on a per-fd basis. If
you select the task flag runtime, then all the allocated fds will be in
the non-sequential area. Even fds allocated inside the library code, with
libraries not expecting this. I fail to understand how a linker can nicely
solve this. If my app is using, for its own reasons, fds in the
non-sequential area, and library XYZ internally uses fds and does not like
them in that area, I still want to link to that library. As long as I do
not pass my fds to the library ("XYZ internally .."), this must still
work. The contrary is also true. If my app is not non-sequential fd aware,
and my library wants to use them in order to keep them alive from apps
doing the for-each-fd-close loop, with a per-fd policy, you can still mix
them together.
Or are you planning to have two sets of each userspace (userspace is not
only glibc, there's other stuff too) libraries?
- Davide
-
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]