daemon: When running commands, restart select if we receive a signal.
authorRichard W.M. Jones <rjones@redhat.com>
Fri, 1 Apr 2011 14:27:46 +0000 (15:27 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Mon, 11 Apr 2011 10:07:37 +0000 (11:07 +0100)
(cherry picked from commit 6e5f64089631622167e60df25ee009ef83df5170)

daemon/guestfsd.c

index 977f170..e18ab31 100644 (file)
@@ -783,9 +783,13 @@ commandrvf (char **stdoutput, char **stderror, int flags,
 
   quit = 0;
   while (quit < 2) {
+  again:
     rset2 = rset;
     r = select (MAX (so_fd[0], se_fd[0]) + 1, &rset2, NULL, NULL, NULL);
     if (r == -1) {
+      if (errno == EINTR)
+        goto again;
+
       perror ("select");
     quit:
       if (stdoutput) free (*stdoutput);