[lkml]   [2008]   [May]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[PATCH 00/18] flag parameters
    This series replaces the individual patches I sent out before.  They
    introduce changes for all the file descriptor-generating syscalls which
    do not have a flags parameter (or where it is not handled).

    I think I addressed all the comments people made on the previous patches.
    New in this series is support for pipe and inotify_init. These are
    straight-forward extensions like the rest. Both require new userlevel
    interfaces, though. We need new userlevel interfaces for:

    - paccept
    - epoll_create2
    - dup3
    - pipe2
    - inotify_init1

    We do /not/ need new interfaces for

    - signalfd4
    - eventfd2
    - timerfd_create
    - socket
    - socketpair

    These either have flags parameters in the interface exported by glibc
    or (in case of the socket functions) overload a parameter with a bitset.

    In addition to support for setting the close-on-exec flag I also added
    support to set the non-blocking mode. This is how most modern, scalable
    code should work and adding the support comes almost for free. Support
    to enable non-blocking is not added for dup3 (for obvious reasons)
    and epoll_create2. For the latter I have not found any support in the
    kernel. In case I missed something let me know and I'll add the few
    lines of code.

    Each semantic change has a test program. For archs other than x86 and
    x86-64 you'll have to add the appropriate syscall number.

    The patches all apply individually in sequence and the source tree
    remains compilable and runnable.

    Regarding the little mapping tables for the flags. There are multiple
    copies with the same values (for now). We could play tricks for mergable
    ELF sections to avoid this minimal duplication.

     \ /
      Last update: 2008-05-05 05:45    [W:0.020 / U:15.604 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site