Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
reduce amount of atomic operations
  • Loading branch information
Sam Stenvall authored and perexg committed Sep 2, 2015
1 parent 23cc083 commit d989da1
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions src/subscriptions.c
Expand Up @@ -913,14 +913,14 @@ subscription_status_callback ( void *p )
LIST_FOREACH(s, &subscriptions, ths_global_link) {
/* Store the difference between total bytes from the last round */
uint64_t in_prev = s->ths_total_bytes_in_prev;
uint64_t in_curr = s->ths_total_bytes_in;
uint64_t in_curr = atomic_add_u64(&s->ths_total_bytes_in, 0);
uint64_t out_prev = s->ths_total_bytes_out_prev;
uint64_t out_curr = s->ths_total_bytes_out;
uint64_t out_curr = atomic_add_u64(&s->ths_total_bytes_out, 0);

atomic_exchange(&s->ths_bytes_in_avg, (in_curr - in_prev));
atomic_exchange_u64(&s->ths_total_bytes_in_prev, s->ths_total_bytes_in);
atomic_exchange(&s->ths_bytes_out_avg, (out_curr - out_prev));
atomic_exchange_u64(&s->ths_total_bytes_out_prev, s->ths_total_bytes_out);
s->ths_bytes_in_avg = (int)(in_curr - in_prev);
s->ths_total_bytes_in_prev = s->ths_total_bytes_in;
s->ths_bytes_out_avg = (int)(out_curr - out_prev);
s->ths_total_bytes_out_prev = s->ths_total_bytes_out;

htsmsg_t *m = subscription_create_msg(s);
htsmsg_add_u32(m, "updateEntry", 1);
Expand Down

0 comments on commit d989da1

Please sign in to comment.