diff src/fileio.c @ 286:57709be46d1b r21-0b41

Import from CVS: tag r21-0b41
author cvs
date Mon, 13 Aug 2007 10:35:03 +0200
parents 558f606b08ae
children e11d67e05968
line wrap: on
line diff
--- a/src/fileio.c	Mon Aug 13 10:34:15 2007 +0200
+++ b/src/fileio.c	Mon Aug 13 10:35:03 2007 +0200
@@ -738,6 +738,8 @@
       count += 25229;
       count %= 225307;
 
+      QUIT;
+
       if (stat ((CONST char *) data, &ignored) < 0)
 	{
 	  /* We want to return only if errno is ENOENT.  */
@@ -748,15 +750,12 @@
 	       can do.  The alternatives are to return nil, which is
 	       as bad as (and in many cases worse than) throwing the
 	       error, or to ignore the error, which will likely result
-	       in looping through 225307 stat's, which is not only
-	       dog-slow, but also useless since it will fallback to
-	       the errow below, anyway.  */
+	       in inflooping.  */
 	    report_file_error ("Cannot create temporary name for prefix",
 			       list1 (prefix));
 	  /* not reached */
 	}
     }
-  signal_simple_error ("Cannot create temporary name for prefix", prefix);
   RETURN_NOT_REACHED (Qnil);
 }