diff options
Diffstat (limited to 'tools/libxl/libxl_event.c')
-rw-r--r-- | tools/libxl/libxl_event.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/tools/libxl/libxl_event.c b/tools/libxl/libxl_event.c index 6f033dd4b3..a5c52bc510 100644 --- a/tools/libxl/libxl_event.c +++ b/tools/libxl/libxl_event.c @@ -1347,6 +1347,7 @@ libxl__poller *libxl__poller_get(libxl_ctx *ctx) void libxl__poller_put(libxl_ctx *ctx, libxl__poller *p) { + if (!p) return; LIBXL_LIST_INSERT_HEAD(&ctx->pollers_idle, p, entry); } @@ -1476,8 +1477,7 @@ int libxl_event_wait(libxl_ctx *ctx, libxl_event **event_r, } out: - if (poller) - libxl__poller_put(ctx, poller); + libxl__poller_put(ctx, poller); CTX_UNLOCK; EGC_FREE; @@ -1540,7 +1540,7 @@ void libxl__ao__destroy(libxl_ctx *ctx, libxl__ao *ao) AO_GC; if (!ao) return; LOG(DEBUG,"ao %p: destroy",ao); - if (ao->poller) libxl__poller_put(ctx, ao->poller); + libxl__poller_put(ctx, ao->poller); ao->magic = LIBXL__AO_MAGIC_DESTROYED; libxl__free_all(&ao->gc); free(ao); |