lkml.org 
[lkml]   [2007]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch 7/8] fdmap v2 - implement sys_socket2
    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 majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-06-07 17:43    [W:2.449 / U:0.616 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site