Many files:
  Change the progress function to return an integer; if returns 1, then
  the progress function is expected to have set the e2fsck context flag
  signalling a user abort, and the caller should also initiate a user
  abort.

diff --git a/e2fsck/pass5.c b/e2fsck/pass5.c
index fd6b2c5..7561e79 100644
--- a/e2fsck/pass5.c
+++ b/e2fsck/pass5.c
@@ -39,28 +39,31 @@
 		fix_problem(ctx, PR_5_PASS_HEADER, &pctx);
 
 	if (ctx->progress)
-		(ctx->progress)(ctx, 5, 0, 3);
+		if ((ctx->progress)(ctx, 5, 0, 3))
+			return;
 
 	e2fsck_read_bitmaps(ctx);
 
 	if (ctx->progress)
-		(ctx->progress)(ctx, 5, 2, 3);
+		if ((ctx->progress)(ctx, 5, 2, 3))
+			return;
 
 	check_block_bitmaps(ctx);
-	if (ctx->flags & E2F_FLAG_ABORT)
+	if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
 		return;
 	check_inode_bitmaps(ctx);
-	if (ctx->flags & E2F_FLAG_ABORT)
+	if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
 		return;
 	check_inode_end(ctx);
-	if (ctx->flags & E2F_FLAG_ABORT)
+	if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
 		return;
 	check_block_end(ctx);
-	if (ctx->flags & E2F_FLAG_ABORT)
+	if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
 		return;
 
 	if (ctx->progress)
-		(ctx->progress)(ctx, 5, 3, 3);
+		if ((ctx->progress)(ctx, 5, 3, 3))
+			return;
 
 	ext2fs_free_inode_bitmap(ctx->inode_used_map);
 	ctx->inode_used_map = 0;