X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.c;h=24b1f1d9f04bea22eb79c77ebebc2b836bbcebca;hb=41039c060435ac14b46d21761e02ec0a344cc6ac;hp=acbc6783b8f20cc4796526d1719d92e7a918cbc1;hpb=00c8752be51d75fcec3c30302db3d42cd714f02c;p=lttng-tools.git diff --git a/src/common/consumer.c b/src/common/consumer.c index acbc6783b..24b1f1d9f 100644 --- a/src/common/consumer.c +++ b/src/common/consumer.c @@ -47,9 +47,6 @@ struct lttng_consumer_global_data consumer_data = { .type = LTTNG_CONSUMER_UNKNOWN, }; -/* timeout parameter, to control the polling thread grace period. */ -int consumer_poll_timeout = -1; - /* * Flag to inform the polling thread to quit when all fd hung up. Updated by * the consumer_thread_receive_fds when it notices that all fds has hung up. @@ -59,15 +56,12 @@ int consumer_poll_timeout = -1; volatile int consumer_quit; /* - * The following two hash tables are visible by all threads which are separated - * in different source files. - * * Global hash table containing respectively metadata and data streams. The * stream element in this ht should only be updated by the metadata poll thread * for the metadata and the data poll thread for the data. */ -struct lttng_ht *metadata_ht; -struct lttng_ht *data_ht; +static struct lttng_ht *metadata_ht; +static struct lttng_ht *data_ht; /* * Notify a thread pipe to poll back again. This usually means that some global @@ -2250,7 +2244,7 @@ void *consumer_thread_data_poll(void *data) /* poll on the array of fds */ restart: DBG("polling on %d fd", nb_fd + 1); - num_rdy = poll(pollfd, nb_fd + 1, consumer_poll_timeout); + num_rdy = poll(pollfd, nb_fd + 1, -1); DBG("poll num_rdy : %d", num_rdy); if (num_rdy == -1) { /* @@ -2534,13 +2528,6 @@ end: */ consumer_quit = 1; - /* - * 2s of grace period, if no polling events occur during - * this period, the polling thread will exit even if there - * are still open FDs (should not happen, but safety mechanism). - */ - consumer_poll_timeout = LTTNG_CONSUMER_POLL_TIMEOUT; - /* * Notify the data poll thread to poll back again and test the * consumer_quit state that we just set so to quit gracefully. @@ -2754,7 +2741,7 @@ int consumer_data_pending(uint64_t id) ht = consumer_data.stream_list_ht; cds_lfht_for_each_entry_duplicate(ht->ht, - ht->hash_fct((void *)((unsigned long) id), 0x42UL), + ht->hash_fct((void *)((unsigned long) id), lttng_ht_seed), ht->match_fct, (void *)((unsigned long) id), &iter.iter, stream, node_session_id.node) { /* If this call fails, the stream is being used hence data pending. */