goto revert_base;
}
} else {
+ /* There's also an empty base, don't alter state */
+ if (db_table_roa_count(new_base) +
+ db_table_router_key_count(new_base) == 0) {
+ rwlock_unlock(&state_lock);
+ return 0;
+ }
error = create_empty_delta(&deltas);
if (error) {
rwlock_unlock(&state_lock);
/* See handle_serial_query_pdu() for some comments. */
switch (error) {
case 0:
+ /* Assure that cache response is (or was) sent */
+ if (args.started)
+ break;
+ error = send_cache_response_pdu(fd, args.version);
+ if (error)
+ return error;
break;
case -EAGAIN:
return err_pdu_send_no_data_available(fd, args.version);