#define CLIENT_POLL_MASK_IN_OUT (CLIENT_POLL_MASK_IN | LPOLLOUT)
struct lttng_trigger_list_element {
- struct lttng_trigger *trigger;
+ /* No ownership of the trigger object is assumed. */
+ const struct lttng_trigger *trigger;
struct cds_list_head node;
};
unsigned long lttng_condition_buffer_usage_hash(
const struct lttng_condition *_condition)
{
- unsigned long hash = 0;
+ unsigned long hash;
+ unsigned long condition_type;
struct lttng_condition_buffer_usage *condition;
condition = container_of(_condition,
struct lttng_condition_buffer_usage, parent);
+ condition_type = (unsigned long) condition->parent.type;
+ hash = hash_key_ulong((void *) condition_type, lttng_ht_seed);
if (condition->session_name) {
hash ^= hash_key_str(condition->session_name, lttng_ht_seed);
}
unsigned long lttng_condition_session_consumed_size_hash(
const struct lttng_condition *_condition)
{
- unsigned long hash = 0;
+ unsigned long hash;
+ unsigned long condition_type =
+ (unsigned long) LTTNG_CONDITION_TYPE_SESSION_CONSUMED_SIZE;
struct lttng_condition_session_consumed_size *condition;
uint64_t val;
condition = container_of(_condition,
struct lttng_condition_session_consumed_size, parent);
+ hash = hash_key_ulong((void *) condition_type, lttng_ht_seed);
if (condition->session_name) {
hash ^= hash_key_str(condition->session_name, lttng_ht_seed);
}
return hash;
}
+
/*
* The lttng_condition hashing code is kept in this file (rather than
* condition.c) since it makes use of GPLv2 code (hashtable utils), which we