Refactoring: refactor TFR() macro to RETRY_ON_EINTR()

Rename macro name to more transparent one and refactor
it to expression.

Signed-off-by: Nikita Ivanov <nivanov@cloudlinux.com>
Message-Id: <20221023090422.242617-2-nivanov@cloudlinux.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Nikita Ivanov 2022-10-23 12:04:21 +03:00 committed by Thomas Huth
parent d88ce91299
commit 8b6aa69365
9 changed files with 24 additions and 16 deletions

View file

@ -251,7 +251,13 @@ void QEMU_ERROR("code path is reachable")
#define ESHUTDOWN 4099
#endif
#define TFR(expr) do { if ((expr) != -1) break; } while (errno == EINTR)
#define RETRY_ON_EINTR(expr) \
(__extension__ \
({ typeof(expr) __result; \
do { \
__result = (expr); \
} while (__result == -1 && errno == EINTR); \
__result; }))
/* time_t may be either 32 or 64 bits depending on the host OS, and
* can be either signed or unsigned, so we can't just hardcode a