[lvm-devel] master - cleanup: clvmd simplify loops
Zdenek Kabelac
zkabelac at fedoraproject.org
Mon Mar 10 11:27:06 UTC 2014
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=109564d6a50eaf3ece1bf38a6422dc2d2f642cf7
Commit: 109564d6a50eaf3ece1bf38a6422dc2d2f642cf7
Parent: 3d23404081b264c7bfdd0668ee72fd3aa692c935
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Mon Mar 10 12:15:41 2014 +0100
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Mon Mar 10 12:24:09 2014 +0100
cleanup: clvmd simplify loops
Rewrite write loops to be more readable.
---
daemons/clvmd/clvmd.c | 26 ++++++++------------------
1 files changed, 8 insertions(+), 18 deletions(-)
diff --git a/daemons/clvmd/clvmd.c b/daemons/clvmd/clvmd.c
index c7ad2da..9ee5998 100644
--- a/daemons/clvmd/clvmd.c
+++ b/daemons/clvmd/clvmd.c
@@ -1771,16 +1771,11 @@ static __attribute__ ((noreturn)) void *pre_and_post_thread(void *arg)
DEBUGLOG("Writing status %d down pipe %d\n", status, pipe_fd);
/* Tell the parent process we have finished this bit */
- do {
- write_status = write(pipe_fd, &status, sizeof(int));
- if (write_status == sizeof(int))
+ while ((write_status = write(pipe_fd, &status, sizeof(int))) != sizeof(int))
+ if (write_status >=0 || (errno != EINTR && errno != EAGAIN)) {
+ log_error("Error sending to pipe: %m\n");
break;
- if (write_status < 0 &&
- (errno == EINTR || errno == EAGAIN))
- continue;
- log_error("Error sending to pipe: %m\n");
- break;
- } while(1);
+ }
if (status) {
client->bits.localsock.state = POST_COMMAND;
@@ -1803,16 +1798,11 @@ static __attribute__ ((noreturn)) void *pre_and_post_thread(void *arg)
status = 0;
do_post_command(client);
- do {
- write_status = write(pipe_fd, &status, sizeof(int));
- if (write_status == sizeof(int))
+ while ((write_status = write(pipe_fd, &status, sizeof(int))) != sizeof(int))
+ if (write_status >=0 || (errno != EINTR && errno != EAGAIN)) {
+ log_error("Error sending to pipe: %m\n");
break;
- if (write_status < 0 &&
- (errno == EINTR || errno == EAGAIN))
- continue;
- log_error("Error sending to pipe: %m\n");
- break;
- } while(1);
+ }
next_pre:
DEBUGLOG("Waiting for next pre command\n");
More information about the lvm-devel
mailing list