Explorar el Código

error-check committing of sync state

a failure here is rather unlikely, but let's be pedantic.
a failure is not fatal (we'll just enter the journal replay path next
time), so only print warnings.

found by coverity.
Oswald Buddenhagen hace 11 años
padre
commit
2d4bc1e613
Se han modificado 1 ficheros con 4 adiciones y 2 borrados
  1. 4 2
      src/sync.c

+ 4 - 2
src/sync.c

@@ -1875,8 +1875,10 @@ box_closed_p2( sync_vars_t *svars, int t )
 	Fclose( svars->jfp, 0 );
 	if (!(DFlags & KEEPJOURNAL)) {
 		/* order is important! */
-		rename( svars->nname, svars->dname );
-		unlink( svars->jname );
+		if (rename( svars->nname, svars->dname ))
+			warn( "Warning: cannot commit sync state %s\n", svars->dname );
+		else if (unlink( svars->jname ))
+			warn( "Warning: cannot delete journal %s\n", svars->jname );
 	}
 
 	sync_bail( svars );