commit-hurd
[Top][All Lists]
Advanced

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

[SCM] glibc maintenance branch, t/poll_errors_fixes, created. glibc-2.16


From: Samuel Thibault
Subject: [SCM] glibc maintenance branch, t/poll_errors_fixes, created. glibc-2.16-ports-merge-635-g3256ef2
Date: Tue, 19 Feb 2013 21:37:29 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "glibc maintenance".

The branch, t/poll_errors_fixes has been created
        at  3256ef22989313dd7e6c13af9d73a248d990b6cc (commit)

- Log -----------------------------------------------------------------
commit 3256ef22989313dd7e6c13af9d73a248d990b6cc
Author: Samuel Thibault <address@hidden>
Date:   Tue Feb 19 22:35:46 2013 +0100

    on EBADF error, also make timeout 0 so we return immediately the error

commit a03a4c8aecbf7e9b9bf20ae2a399f8a4515c83ac
Author: Samuel Thibault <address@hidden>
Date:   Tue Feb 19 22:30:40 2013 +0100

    Fix poll and select POSIX compliancy details about errors
    
    This fixes the following:
    
    - Poll must not return immediately on error, including EBADF, and instead
      report POLLHUP/POLLERR/POLLNVAL
    - Select must report EBADF if some set contains an invalid FD.
    
    The idea is to move error management to after all select calls, in the
    poll/select final treatment. The error is instead recorded in a new `error'
    field, and a new SELECT_ERROR bit set.
    
    Thanks Svante Signell for the initial version of the patch.
    
    * hurd/hurdselect.c (SELECT_ERROR): New macro.
    (_hurd_select):
    - Add `error' field to `d' structures array.
    - If a poll descriptor is bogus, set EBADF, but continue.
    - Go through the whole fd_set, not only until _hurd_dtablesize. Return EBADF
    there is any bit set above _hurd_dtablesize.
    - Do not request io_select on bogus descriptors (SELECT_ERROR).
    - On io_select request error, record the error.
    - On io_select bogus reply, use EIO error code.
    - On io_select bogus or error reply, record the error.
    - Do not destroy reply port for bogus FDs.
    - On error, make poll set POLLHUP in the EPIPE case, POLLNVAL in the EBADF
    case, or else POLLERR.
    - On error, make select simulated readiness.

commit 4e6ea3d684384dce08fe60fbb5f8f692ef55a28a
Author: Samuel Thibault <address@hidden>
Date:   Fri Feb 15 01:58:06 2013 +0100

    fix build

commit 000ef460744786571f51604e6de631b7168e239a
Author: Samuel Thibault <address@hidden>
Date:   Fri Feb 15 01:37:33 2013 +0100

    Fix poll and select POSIX compliancy details about errors
    
    This fixes the following:
    
    - Poll must not return immediately on error, including EBADF, and instead
      report POLLHUP/POLLERR/POLLNVAL
    - Select must report EBADF if some set contains an invalid FD.
    
    The idea is to move error management to after all select calls, in the
    poll/select final treatment. The error is instead recorded in a new `error'
    field, and a new SELECT_ERROR bit set.
    
    Thanks Svante Signell for the initial version of the patch.
    
    * hurd/hurdselect.c (SELECT_ERROR): New macro.
    (_hurd_select):
    - Add `error' field to `d' structures array.
    - If a poll descriptor is bogus, set EBADF, but continue.
    - Go through the whole fd_set, not only until _hurd_dtablesize. Return EBADF
    there is any bit set above _hurd_dtablesize.
    - Do not request io_select on bogus descriptors (SELECT_ERROR).
    - On io_select request error, record the error.
    - On io_select bogus reply, use EIO error code.
    - On io_select bogus or error reply, record the error.
    - Do not destroy reply port for bogus FDs.
    - On error, make poll set POLLHUP in the EPIPE case, POLLNVAL in the EBADF
    case, or else POLLERR.
    - On error, make select simulated readiness.

-----------------------------------------------------------------------


hooks/post-receive
-- 
glibc maintenance



reply via email to

[Prev in Thread] Current Thread [Next in Thread]