From e71c587ff0db3b8e3b52f18e9744629db354fd0e Mon Sep 17 00:00:00 2001 From: Pan Liu Date: Mon, 14 Nov 2016 18:20:09 +0800 Subject: [PATCH] os/filestore: handle EINTR returned by io_getevents() Signed-off-by: Pan Liu --- src/os/fs/FS.cc | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/os/fs/FS.cc b/src/os/fs/FS.cc index d2a9f350d343..b25fe07c1aec 100644 --- a/src/os/fs/FS.cc +++ b/src/os/fs/FS.cc @@ -215,7 +215,12 @@ int FS::aio_queue_t::get_next_completed(int timeout_ms, aio_t **paio, int max) timeout_ms / 1000, (timeout_ms % 1000) * 1000 * 1000 }; - int r = io_getevents(ctx, 1, max, event, &t); + + int r = 0; + do { + r = io_getevents(ctx, 1, max, event, &t); + } while (r == -EINTR); + if (r <= 0) { return r; } -- 2.47.3