On Thu, 12.09.13 09:43, cee1 (fykc...@gmail.com) wrote: > What about the following patch? It simply do read/write again if poll > returns, and let read/write report error if something is wrong.
I guess that patch makes sense, but could you change it to not just comment but delete the old lines? Also, could you add a comment there: /* We knowingly ignore the revents value here, and expect that any error/EOF is reported via read()/write() */ > > >From 3b83e839ebfc161565db76ce8d0e1dd4da1b0afc Mon Sep 17 00:00:00 2001 > From: Chen Jie <ch...@lemote.com> > Date: Thu, 12 Sep 2013 09:21:41 +0800 > Subject: [PATCH] util.c: not check pollfd.revent for loop_read/loop_write > > If an error occurred, let read/write report it. > --- > src/shared/util.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/src/shared/util.c b/src/shared/util.c > index 1dde8af..e08ec44 100644 > --- a/src/shared/util.c > +++ b/src/shared/util.c > @@ -2206,8 +2206,10 @@ ssize_t loop_read(int fd, void *buf, size_t > nbytes, bool do_poll) { > return n > 0 ? n : -errno; > } > > + /* > if (pollfd.revents != POLLIN) > return n > 0 ? n : -EIO; > + */ > > continue; > } > @@ -2254,8 +2256,10 @@ ssize_t loop_write(int fd, const void *buf, > size_t nbytes, bool do_poll) { > return n > 0 ? n : -errno; > } > > + /* > if (pollfd.revents != POLLOUT) > return n > 0 ? n : -EIO; > + */ > > continue; > } > > Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel