ul_logerr("Contract reservation error %d\n", ret);
ret = FRES_ERR_ADMISSION_TEST;
goto err_free;
- }
- ret = 0;
+ } else if (ret == 0)
+ ret = FRSH_NO_ERROR;
+ else if (ret == 1)
+ ret = FRSH_ERR_CONTRACT_REJECTED;
+ else
+ assert(false);
err_free:
forb_sequence_free_buf(&contracts, forb_no_destructor);
err:
if (criterion > best_criterion) {
ret = reserve_resource(resource);
- if (ret)
+ switch (ret) {
+ case FRSH_NO_ERROR:
+ best_criterion = criterion;
+ break;
+ case FRSH_ERR_CONTRACT_REJECTED:
+ break;
+ default:
goto err;
-
- /* negotiation succeeded */
- best_criterion = criterion;
+ }
}
} while (!all_combinations_tried);