simplify journaling of expiring unborn messages
don't use a separate journal command anymore, but handle them like regular expirations, and let the entry purge loop at the end cleanup them.
This commit is contained in:
parent
eab3874918
commit
1ca278ad0d
|
@ -1319,14 +1319,14 @@ box_loaded( int sts, message_t *msgs, int total_msgs, int recent_msgs, void *aux
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (srec->status & S_NEXPIRE) {
|
if (srec->status & S_NEXPIRE) {
|
||||||
JLOG( "= %u %u", (srec->uid[F], srec->uid[N]), "expire unborn" );
|
srec->status = S_EXPIRE | S_EXPIRED;
|
||||||
|
JLOG( "~ %u %u %u", (srec->uid[F], srec->uid[N], srec->status), "expire unborn" );
|
||||||
// If we have so many new messages that some of them are instantly expired,
|
// If we have so many new messages that some of them are instantly expired,
|
||||||
// but some are still propagated because they are important, we need to
|
// but some are still propagated because they are important, we need to
|
||||||
// ensure explicitly that the bulk fetch limit is upped.
|
// ensure explicitly that the bulk fetch limit is upped.
|
||||||
if (svars->maxxfuid < srec->uid[F])
|
if (svars->maxxfuid < srec->uid[F])
|
||||||
svars->maxxfuid = srec->uid[F];
|
svars->maxxfuid = srec->uid[F];
|
||||||
srec->msg[F]->srec = NULL;
|
srec->msg[F]->srec = NULL;
|
||||||
srec->status = S_DEAD;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -298,7 +298,6 @@ load_state( sync_vars_t *svars )
|
||||||
case '+':
|
case '+':
|
||||||
case '&':
|
case '&':
|
||||||
case '-':
|
case '-':
|
||||||
case '=':
|
|
||||||
case '_':
|
case '_':
|
||||||
case '|':
|
case '|':
|
||||||
bad = sscanf( buf + 2, "%u %u", &t1, &t2 ) != 2;
|
bad = sscanf( buf + 2, "%u %u", &t1, &t2 ) != 2;
|
||||||
|
@ -364,12 +363,6 @@ load_state( sync_vars_t *svars )
|
||||||
debug( "killed\n" );
|
debug( "killed\n" );
|
||||||
srec->status = S_DEAD;
|
srec->status = S_DEAD;
|
||||||
break;
|
break;
|
||||||
case '=':
|
|
||||||
debug( "aborted\n" );
|
|
||||||
if (svars->maxxfuid < srec->uid[F])
|
|
||||||
svars->maxxfuid = srec->uid[F];
|
|
||||||
srec->status = S_DEAD;
|
|
||||||
break;
|
|
||||||
case '#':
|
case '#':
|
||||||
memcpy( srec->tuid, buf + tn + 2, TUIDL );
|
memcpy( srec->tuid, buf + tn + 2, TUIDL );
|
||||||
debug( "TUID now %." stringify(TUIDL) "s\n", srec->tuid );
|
debug( "TUID now %." stringify(TUIDL) "s\n", srec->tuid );
|
||||||
|
|
Loading…
Reference in New Issue
Block a user