From dd80ee80c9bf84c3c7d4c72ffe4c1a9d9d170bf9 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 9 Jul 2015 16:52:02 +0100 Subject: [PATCH] libxl: poll: Make libxl__poller_get have only one success return path In preparation for doing some more work on successful exit. No functional change. Signed-off-by: Ian Jackson CC: Jim Fehlig Acked-by: Wei Liu Tested-by: Jim Fehlig (cherry picked from commit 6fc946bc5520ebdbba5cbae4d49e53895df8b393) (cherry picked from commit 8c409135e69c7321cb6d82b8cae0868a81d05ddc) Conflicts: tools/libxl/libxl_event.c Signed-off-by: Ian Jackson (cherry picked from commit 900c7970de4cb809ba208465cb0abd094b4dec58) --- tools/libxl/libxl_event.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c index 5f539b122c..9536018efe 100644 --- a/tools/libxl/libxl_event.c +++ b/tools/libxl/libxl_event.c @@ -1329,20 +1329,19 @@ libxl__poller *libxl__poller_get(libxl_ctx *ctx) libxl__poller *p = LIBXL_LIST_FIRST(&ctx->pollers_idle); if (p) { LIBXL_LIST_REMOVE(p, entry); - return p; - } + } else { + p = malloc(sizeof(*p)); + if (!p) { + LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "cannot allocate poller"); + return 0; + } + memset(p, 0, sizeof(*p)); - p = malloc(sizeof(*p)); - if (!p) { - LIBXL__LOG_ERRNO(ctx, LIBXL__LOG_ERROR, "cannot allocate poller"); - return 0; - } - memset(p, 0, sizeof(*p)); - - rc = libxl__poller_init(ctx, p); - if (rc) { - free(p); - return NULL; + rc = libxl__poller_init(ctx, p); + if (rc) { + free(p); + return NULL; + } } return p;