revents = LTTNG_POLL_GETEV(&events, i);
pollfd = LTTNG_POLL_GETFD(&events, i);
+ if (!revents) {
+ /* No activity for this FD (poll implementation). */
+ continue;
+ }
+
if (pollfd == lttng_pipe_get_readfd(ctx->consumer_metadata_pipe)) {
if (revents & (LPOLLERR | LPOLLHUP )) {
DBG("Metadata thread pipe hung up");
revents = LTTNG_POLL_GETEV(&events, i);
pollfd = LTTNG_POLL_GETFD(&events, i);
- /* Just don't waste time if no returned events for the fd */
if (!revents) {
+ /* No activity for this FD (poll implementation). */
continue;
}
+
if (pollfd == ctx->consumer_channel_pipe[0]) {
if (revents & (LPOLLERR | LPOLLHUP)) {
DBG("Channel thread pipe hung up");
*/
ret = cds_lfht_is_node_deleted(&stream->node.node);
if (!ret) {
- /*
- * An empty output file is not valid. We need at least one packet
- * generated per stream, even if it contains no event, so it
- * contains at least one packet header.
- */
- if (stream->output_written == 0) {
- pthread_mutex_unlock(&stream->lock);
- goto data_pending;
- }
/* Check the stream if there is data in the buffers. */
ret = data_pending(stream);
if (ret == 1) {