Update FSF address.
[libguestfs.git] / daemon / proto.c
index 6b7a187..bbba205 100644 (file)
@@ -1,5 +1,5 @@
 /* libguestfs - the guestfsd daemon
- * Copyright (C) 2009 Red Hat Inc.
+ * Copyright (C) 2009-2011 Red Hat Inc.
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -13,7 +13,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
 #include <config.h>
@@ -88,12 +88,6 @@ main_loop (int _sock)
   sock = _sock;
 
   for (;;) {
-    /* Most common errors are leaked memory and leaked file descriptors,
-     * so run this between each command:
-     */
-    if (verbose && 0)
-      ignore_value (system ("ls -l /proc/self/fd"));
-
     /* Read the length word. */
     if (xread (sock, lenbuf, 4) == -1)
       exit (EXIT_FAILURE);
@@ -107,6 +101,12 @@ main_loop (int _sock)
               "guestfsd: main_loop: new request, len 0x%" PRIx32 "\n",
               len);
 
+    /* Cancellation sent from the library and received after the
+     * previous request has finished processing.  Just ignore it.
+     */
+    if (len == GUESTFS_CANCEL_FLAG)
+      continue;
+
     if (len > GUESTFS_MESSAGE_MAX) {
       fprintf (stderr, "guestfsd: incoming message is too long (%u bytes)\n",
                len);