vstream->tracefile_count_last = -1ULL;
switch (seek_t) {
- case VIEWER_SEEK_BEGINNING:
+ case LTTNG_VIEWER_SEEK_BEGINNING:
vstream->tracefile_count_current = stream->oldest_tracefile_id;
break;
- case VIEWER_SEEK_LAST:
+ case LTTNG_VIEWER_SEEK_LAST:
vstream->tracefile_count_current = stream->tracefile_count_current;
break;
default:
vstream->index_read_fd = read_fd;
}
- if (seek_t == VIEWER_SEEK_LAST && vstream->index_read_fd >= 0) {
+ if (seek_t == LTTNG_VIEWER_SEEK_LAST && vstream->index_read_fd >= 0) {
off_t lseek_ret;
lseek_ret = lseek(vstream->index_read_fd,
/*
* Rotate a stream to the next tracefile.
*
+ * Must be called with viewer_stream_rotation_lock held.
* Returns 0 on success, 1 on EOF, a negative value on error.
*/
int viewer_stream_rotate(struct relay_viewer_stream *vstream,
goto end;
}
- /*
- * Lock to execute rotation in order to avoid races between a modification
- * on the index values.
- */
- pthread_mutex_lock(&stream->viewer_stream_rotation_lock);
-
/*
* The writer and the reader are not working in the same tracefile, we can
* read up to EOF, we don't care about the total_index_received.
vstream->abort_flag = 0;
pthread_mutex_unlock(&vstream->overwrite_lock);
- pthread_mutex_unlock(&stream->viewer_stream_rotation_lock);
-
ret = index_open(vstream->path_name, vstream->channel_name,
vstream->tracefile_count, vstream->tracefile_count_current);
if (ret < 0) {