use signal safe ust_safe_snprintf()
[ust.git] / ustd / lowlevel.c
index d8d4cfa32c80cc83c1f11d456d24016ac6365289..a79b494bc547a3576f11d7ae4df67e569c191372 100644 (file)
@@ -91,7 +91,7 @@ void finish_consuming_dead_subbuffer(struct buffer_info *buf)
        }
 
        /* Iterate on subbuffers to recover. */
-       for(i_subbuf=first_subbuf; ; i_subbuf++, i_subbuf %= buf->n_subbufs) {
+       for(i_subbuf = first_subbuf % buf->n_subbufs; ; i_subbuf++, i_subbuf %= buf->n_subbufs) {
                void *tmp;
                /* commit_seq is the offset in the buffer of the end of the last sequential commit.
                 * Bytes beyond this limit cannot be recovered. This is a free-running counter. */
@@ -112,6 +112,8 @@ void finish_consuming_dead_subbuffer(struct buffer_info *buf)
                }
 
                /* Check if subbuf was fully written. This is from Mathieu's algorithm/paper. */
+               /* FIXME: not sure data_size = 0xffffffff when the buffer is not full. It might
+                * take the value of the header size initially */
                if (((commit_seq - buf->subbuf_size) & commit_seq_mask)
                    - (USTD_BUFFER_TRUNC(consumed_offset, buf) >> n_subbufs_order) == 0
                     && header->data_size != 0xffffffff && header->sb_size != 0xffffffff) {
This page took 0.022431 seconds and 4 git commands to generate.