void
isc_quota_init(isc_quota_t *quota, unsigned int max) {
- atomic_store("a->__max, max);
- atomic_store("a->__used, 0);
- atomic_store("a->__soft, 0);
+ atomic_store("a->max, max);
+ atomic_store("a->used, 0);
+ atomic_store("a->soft, 0);
}
void
isc_quota_destroy(isc_quota_t *quota) {
- INSIST(atomic_load("a->__used) == 0);
- atomic_store("a->__max, 0);
- atomic_store("a->__used, 0);
- atomic_store("a->__soft, 0);
+ INSIST(atomic_load("a->used) == 0);
+ atomic_store("a->max, 0);
+ atomic_store("a->used, 0);
+ atomic_store("a->soft, 0);
}
void
isc_quota_soft(isc_quota_t *quota, unsigned int soft) {
- atomic_store("a->__soft, soft);
+ atomic_store("a->soft, soft);
}
void
isc_quota_max(isc_quota_t *quota, unsigned int max) {
- atomic_store("a->__max, max);
+ atomic_store("a->max, max);
}
unsigned int
isc_quota_getmax(isc_quota_t *quota) {
- return (atomic_load_relaxed("a->__max));
+ return (atomic_load_relaxed("a->max));
}
unsigned int
isc_quota_getsoft(isc_quota_t *quota) {
- return (atomic_load_relaxed("a->__soft));
+ return (atomic_load_relaxed("a->soft));
}
unsigned int
isc_quota_getused(isc_quota_t *quota) {
- return (atomic_load_relaxed("a->__used));
+ return (atomic_load_relaxed("a->used));
}
isc_result_t
isc_quota_reserve(isc_quota_t *quota) {
isc_result_t result;
- uint32_t max = atomic_load("a->__max);
- uint32_t soft = atomic_load("a->__soft);
- uint32_t used = atomic_fetch_add("a->__used, 1);
+ uint32_t max = atomic_load("a->max);
+ uint32_t soft = atomic_load("a->soft);
+ uint32_t used = atomic_fetch_add("a->used, 1);
if (max == 0 || used < max) {
if (soft == 0 || used < soft) {
result = ISC_R_SUCCESS;
result = ISC_R_SOFTQUOTA;
}
} else {
- INSIST(atomic_fetch_sub("a->__used, 1) > 0);
+ INSIST(atomic_fetch_sub("a->used, 1) > 0);
result = ISC_R_QUOTA;
}
return (result);
void
isc_quota_release(isc_quota_t *quota) {
- INSIST(atomic_fetch_sub("a->__used, 1) > 0);
+ INSIST(atomic_fetch_sub("a->used, 1) > 0);
}
isc_result_t