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;
+    }
+}
+