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>
Fri, 1 Apr 2011 15:05:30 +0000 (16:05 +0100)
daemon/guestfsd.c

index 3632889..1c695eb 100644 (file)
@@ -768,9 +768,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);