]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
timeshift: minor addition to atomics (check max size correctly).
authorAdam Sutton <dev@adamsutton.me.uk>
Sat, 9 Feb 2013 23:22:11 +0000 (23:22 +0000)
committerAdam Sutton <dev@adamsutton.me.uk>
Fri, 15 Feb 2013 10:24:41 +0000 (10:24 +0000)
src/atomic.h
src/timeshift/timeshift_filemgr.c
src/timeshift/timeshift_reader.c

index 8627e64a4114fa7875e7744750310bb4f9b09ce5..f4b8c9916fec238b21ffb2ded8c7b2ef5e50b025 100644 (file)
@@ -35,3 +35,15 @@ atomic_add_u64(volatile uint64_t *ptr, uint64_t incr)
 {
   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);
+}
index 185d80a5fea90b6f1d57bdc1df29ed6c24fb9ca1..a0d1603a342eac1a4f3d377b48948b324c64e035 100644 (file)
@@ -226,7 +226,7 @@ timeshift_file_t *timeshift_filemgr_get ( timeshift_t *ts, int create )
 
     /* Check size */
     if (!timeshift_unlimited_size &&
-        atomic_add_u64(&timeshift_total_size, 0) >= timeshift_max_size) {
+        atomic_pre_add_u64(&timeshift_total_size, 0) >= timeshift_max_size) {
       tvhlog(LOG_DEBUG, "timshift", "ts %d buffer full", ts->id);
       ts->full = 1;
     }
index 2e5d1d2f60b3f591aa89e2a833d18f4bff953b10..70bd9d0ad4454df270f5cbe4264c661f82de7302 100644 (file)
@@ -356,7 +356,6 @@ static int _timeshift_read
     } 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);