From 7d5a0e13f69e0ecd9b6425fcc17bf309c0f3a309 Mon Sep 17 00:00:00 2001 From: Jonathan Moore Liles Date: Mon, 18 Mar 2013 17:21:37 -0700 Subject: [PATCH] nonlib: Use tmp file when generating snapshot. --- nonlib/Loggable.C | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nonlib/Loggable.C b/nonlib/Loggable.C index 8e94ea3..e7d7413 100644 --- a/nonlib/Loggable.C +++ b/nonlib/Loggable.C @@ -568,13 +568,21 @@ Loggable::snapshot ( const char *name ) { FILE *fp; - if ( ! ( fp = fopen( name, "w" ) )) + char *tmpname; + + asprintf( &tmpname, ".#%s", name ); + + if ( ! ( fp = fopen( tmpname, "w" ) )) return false; bool r = snapshot( fp ); fclose( fp ); + rename( tmpname, name ); + + free(tmpname); + return r; }