]> mj.ucw.cz Git - libucw.git/commitdiff
When we try to create a temporary file and it already exists (which can happen
authorMartin Mares <mj@ucw.cz>
Tue, 2 Mar 2004 15:38:20 +0000 (15:38 +0000)
committerMartin Mares <mj@ucw.cz>
Tue, 2 Mar 2004 15:38:20 +0000 (15:38 +0000)
if a program with the same PID has crashed at some time in the past), don't
panic and rewrite the file. Should be safe since we're using our own tmp directory
nobody else can access.

lib/fb-temp.c

index bdaf831d5db4b12d4f4ed81076b0502b089cbad5..a537dd934f7b7541068b006014f0c559bedf6f79 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *     Sherlock Library -- Temporary Fastbufs
  *
- *     (c) 2002 Martin Mares <mj@ucw.cz>
+ *     (c) 2002--2004 Martin Mares <mj@ucw.cz>
  *
  *     This software may be freely distributed and used according to the terms
  *     of the GNU Lesser General Public License.
@@ -35,7 +35,7 @@ bopen_tmp(uns bufsize)
   static uns temp_counter;
 
   sprintf(buf, temp_template, (int) getpid(), temp_counter++);
-  f = bopen(buf, O_RDWR | O_CREAT | O_EXCL, bufsize);
+  f = bopen(buf, O_RDWR | O_CREAT | O_TRUNC, bufsize);
   bconfig(f, BCONFIG_IS_TEMP_FILE, 1);
   return f;
 }