]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
only put packet on storage queue if we actually stored it
authorAndreas Öman <andreas@lonelycoder.com>
Tue, 20 Nov 2007 08:14:11 +0000 (08:14 +0000)
committerAndreas Öman <andreas@lonelycoder.com>
Tue, 20 Nov 2007 08:14:11 +0000 (08:14 +0000)
buffer.c

index 247b0e92e61b0072ee1c08624c369a704c266896..a33c46d895b1a5940ec3e02d83cb5f08df77ff6e 100644 (file)
--- a/buffer.c
+++ b/buffer.c
@@ -294,9 +294,6 @@ storage_disk_enq(th_pkt_t *pkt)
   char fbuf[500];
   int fd;
 
-  TAILQ_INSERT_TAIL(&store_disk_queue, pkt, pkt_disk_link);
-  store_disk_size += pkt->pkt_payloadlen;
-
   if(curstore == NULL) {
     snprintf(fbuf, sizeof(fbuf), "%s/s%d", store_path, ++store_tally);
     
@@ -315,6 +312,9 @@ storage_disk_enq(th_pkt_t *pkt)
 
 
   if(s != NULL) {
+    TAILQ_INSERT_TAIL(&store_disk_queue, pkt, pkt_disk_link);
+    store_disk_size += pkt->pkt_payloadlen;
+
     s->ts_refcount++;
     pkt->pkt_storage = s;
     pkt->pkt_storage_offset = s->ts_offset;