[systemd-commits] src/shared

Lennart Poettering lennart at kemper.freedesktop.org
Mon Sep 30 19:50:40 PDT 2013


 src/shared/util.c |   12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

New commits:
commit c22ceead439fbd7825acb14b5db904851d0389ef
Author: Chen Jie <chenj at lemote.com>
Date:   Thu Sep 12 09:21:41 2013 +0800

    util.c: ignore pollfd.revent for loop_read/loop_write
    
    Let read()/write() report any error/EOF.

diff --git a/src/shared/util.c b/src/shared/util.c
index fb42d66..5dc605e 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -2186,8 +2186,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;
+                                /* We knowingly ignore the revents value here,
+                                 * and expect that any error/EOF is reported
+                                 * via read()/write()
+                                 */
 
                                 continue;
                         }
@@ -2234,8 +2236,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;
+                                /* We knowingly ignore the revents value here,
+                                 * and expect that any error/EOF is reported
+                                 * via read()/write()
+                                 */
 
                                 continue;
                         }



More information about the systemd-commits mailing list