2007-07-16 Marcus Brinkmann <marcus@g10code.de>
authorMarcus Brinkmann <mb@g10code.com>
Mon, 16 Jul 2007 14:33:34 +0000 (14:33 +0000)
committerMarcus Brinkmann <mb@g10code.com>
Mon, 16 Jul 2007 14:33:34 +0000 (14:33 +0000)
* gpg-connect-agent.c (main): Bail out if write fails.

tools/ChangeLog
tools/gpg-connect-agent.c

index 9ddd3aa..2afcf51 100644 (file)
@@ -1,3 +1,7 @@
+2007-07-16  Marcus Brinkmann  <marcus@g10code.de>
+
+       * gpg-connect-agent.c (main): Bail out if write fails.
+
 2007-07-05  Marcus Brinkmann  <marcus@g10code.de>
 
        * symcryptrun.c (confucius_get_pass): Define orig_codeset if
index a07a7b6..5322a4f 100644 (file)
@@ -258,7 +258,6 @@ do_recvfd (assuan_context_t ctx, char *line)
 }
 
 
-
 /* gpg-connect-agent's entry point. */
 int
 main (int argc, char **argv)
@@ -464,7 +463,7 @@ main (int argc, char **argv)
       if (rc)
         {
           log_info (_("sending line failed: %s\n"), gpg_strerror (rc) );
-          continue;
+         break;
         }
       if (*line == '#' || !*line)
         continue; /* Don't expect a response for a comment line. */
@@ -472,6 +471,12 @@ main (int argc, char **argv)
       rc = read_and_print_response (ctx);
       if (rc)
         log_info (_("receiving line failed: %s\n"), gpg_strerror (rc) );
+
+      /* FIXME: If the last command was BYE or the server died for
+        some other reason, we won't notice until we get the next
+        input command.  Probing the connection with a non-blocking
+        read could help to notice termination or other problems
+        early.  */
     }
 
   if (opt.verbose)