| @@ -568,13 +568,21 @@ Loggable::snapshot ( const char *name ) | |||||
| { | { | ||||
| FILE *fp; | FILE *fp; | ||||
| if ( ! ( fp = fopen( name, "w" ) )) | |||||
| char *tmpname; | |||||
| asprintf( &tmpname, ".#%s", name ); | |||||
| if ( ! ( fp = fopen( tmpname, "w" ) )) | |||||
| return false; | return false; | ||||
| bool r = snapshot( fp ); | bool r = snapshot( fp ); | ||||
| fclose( fp ); | fclose( fp ); | ||||
| rename( tmpname, name ); | |||||
| free(tmpname); | |||||
| return r; | return r; | ||||
| } | } | ||||