{
return __sync_fetch_and_add(ptr, incr);
}
+
+static inline uint64_t
+atomic_pre_add_u64(volatile uint64_t *ptr, uint64_t incr)
+{
+ return __sync_add_and_fetch(ptr, incr);
+}
+
+static inline uint64_t
+atomic_pre_add_u64(volatile uint64_t *ptr, uint64_t incr)
+{
+ return __sync_add_and_fetch(ptr, incr);
+}
/* Check size */
if (!timeshift_unlimited_size &&
- atomic_add_u64(×hift_total_size, 0) >= timeshift_max_size) {
+ atomic_pre_add_u64(×hift_total_size, 0) >= timeshift_max_size) {
tvhlog(LOG_DEBUG, "timshift", "ts %d buffer full", ts->id);
ts->full = 1;
}
} else {
streaming_message_t *ssm = _timeshift_find_sstart(*cur_file, (*sm)->sm_time);
if (ssm && ssm->sm_data != ts->smt_start) {
- printf("SENDING NEW SMT_START MESSAGE\n");
streaming_target_deliver2(ts->output, streaming_msg_clone(ssm));
if (ts->smt_start)
streaming_start_unref(ts->smt_start);