lttng_ht_seed);
}
if (condition->threshold_ratio.set) {
- uint64_t val;
-
- val = condition->threshold_ratio.value * (double) UINT32_MAX;
- hash ^= hash_key_u64(&val, lttng_ht_seed);
+ hash ^= hash_key_u64(&condition->threshold_ratio.value, lttng_ht_seed);
} else if (condition->threshold_bytes.set) {
uint64_t val;
struct lttng_condition_session_rotation, parent);
condition_type = (unsigned long) condition->parent.type;
hash = hash_key_ulong((void *) condition_type, lttng_ht_seed);
- assert(condition->session_name);
+ LTTNG_ASSERT(condition->session_name);
hash ^= hash_key_str(condition->session_name, lttng_ht_seed);
return hash;
}
-static
-unsigned long lttng_condition_on_event_hash(
- const struct lttng_condition *condition)
+static unsigned long lttng_condition_event_rule_matches_hash(
+ const struct lttng_condition *condition)
{
unsigned long hash, condition_type;
enum lttng_condition_status condition_status;
const struct lttng_event_rule *event_rule;
condition_type = (unsigned long) condition->type;
- condition_status = lttng_condition_on_event_get_rule(condition,
- &event_rule);
- assert(condition_status == LTTNG_CONDITION_STATUS_OK);
+ condition_status = lttng_condition_event_rule_matches_get_rule(
+ condition, &event_rule);
+ LTTNG_ASSERT(condition_status == LTTNG_CONDITION_STATUS_OK);
hash = hash_key_ulong((void *) condition_type, lttng_ht_seed);
return hash ^ lttng_event_rule_hash(event_rule);
case LTTNG_CONDITION_TYPE_SESSION_ROTATION_ONGOING:
case LTTNG_CONDITION_TYPE_SESSION_ROTATION_COMPLETED:
return lttng_condition_session_rotation_hash(condition);
- case LTTNG_CONDITION_TYPE_ON_EVENT:
- return lttng_condition_on_event_hash(condition);
+ case LTTNG_CONDITION_TYPE_EVENT_RULE_MATCHES:
+ return lttng_condition_event_rule_matches_hash(condition);
default:
- //ERR("[notification-thread] Unexpected condition type caught");
abort();
}
}
-LTTNG_HIDDEN
struct lttng_condition *lttng_condition_copy(const struct lttng_condition *condition)
{
int ret;