Explorar o 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 %!s(int64=11) %!d(string=hai) anos
pai
achega
2d4bc1e613
Modificáronse 1 ficheiros con 4 adicións e 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 );