-
-ssize_t
-os_pipe_read(int fd, void * buf, size_t count)
-{
-int rc;
-for (int retries = 10; retries > 0; retries--)
- {
- if ((rc = read(fd, buf, count)) >= 0) break;
- if (rc != -1 || errno != EINTR) break;
- }
-return rc;
-}
-
-
-ssize_t
-os_pipe_write(int fd, void * buf, size_t count)
-{
-int rc;
-for (int retries = 10; retries > 0; retries--)
- {
- if ((rc = write(fd, buf, count)) >= 0) break;
- if (rc != -1 || errno != EINTR) break;
- }
-return rc;
-}
-
-ssize_t
-os_pipe_writev(int fd, const struct iovec * iov, int iovcnt)
-{
-int rc;
-for (int retries = 10; retries > 0; retries--)
- {
- if ((rc = writev(fd, iov, iovcnt)) >= 0) break;
- if (rc != -1 || errno != EINTR) break;
- }
-return rc;
-}
-