Get QEMUFile implementation to upstream level.
Change-Id: I0c5003876c7df0246118cb903cf6b834fac82687
diff --git a/util/yield-android.c b/util/yield-android.c
new file mode 100644
index 0000000..b553ab9
--- /dev/null
+++ b/util/yield-android.c
@@ -0,0 +1,20 @@
+#include <errno.h>
+#include <stddef.h>
+#ifdef _WIN32
+#include <windows.h>
+#else
+#include <sys/select.h>
+#endif
+
+// Wait until file descriptor |fd| becomes readable.
+void yield_until_fd_readable(int fd) {
+ for (;;) {
+ fd_set read_fds;
+ FD_ZERO(&read_fds);
+ FD_SET(fd, &read_fds);
+ int ret = select(fd + 1, &read_fds, NULL, NULL, NULL);
+ if (ret == 1 || (ret < 0 && errno != -EINTR))
+ return;
+ }
+}
+