Re: [patch 7/8] fdmap v2 - implement sys_socket2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux