Re: [PATCH v2] glib/gpoll: Remove if conditional



On Fri, Jul 7, 2017 at 11:02 AM, Alistair Francis
<alistair francis xilinx com> wrote:
The original ready < nhandles - 1 can be re-written as ready + 1 < nhandles
which is the same confition that we are checking on the first
itteration of the for loop. This means we can remove the if statement
and let the for loop check the code.

This also has the side effect of removing an invalid check as
WAIT_OBJECT_0 was not subtracted from ready in the if statement.

Signed-off-by: Alistair Francis <alistair francis xilinx com>

Ping!

---
v2:
 - Rebase on master
 - Remove the first patch in the series as it was incorrect

 glib/gpoll.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/glib/gpoll.c b/glib/gpoll.c
index 265cb9210..b6c83d8ed 100644
--- a/glib/gpoll.c
+++ b/glib/gpoll.c
@@ -235,9 +235,8 @@ poll_rest (gboolean  poll_msgs,
        {
          /* Remove the handle that fired */
          int i;
-         if (ready < nhandles - 1)
-           for (i = ready - WAIT_OBJECT_0 + 1; i < nhandles; i++)
-             handles[i-1] = handles[i];
+         for (i = ready - WAIT_OBJECT_0 + 1; i < nhandles; i++)
+           handles[i-1] = handles[i];
          nhandles--;
          recursed_result = poll_rest (FALSE, handles, nhandles, fds, nfds, 0);
          return (recursed_result == -1) ? -1 : 1 + recursed_result;
--
2.11.0



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