X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-consumer.c;h=75d7170d2752f4d952d8d8a69bd27eed0243d565;hb=a6f54a11424f11338194551a01fdbe2723302051;hp=4b52d599258ca301bbaede1587fa1c559b5c47e1;hpb=5368d366c6c7f80ad941172a6bc9c6a5174cbdf0;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ust-consumer.c b/src/bin/lttng-sessiond/ust-consumer.c index 4b52d5992..75d7170d2 100644 --- a/src/bin/lttng-sessiond/ust-consumer.c +++ b/src/bin/lttng-sessiond/ust-consumer.c @@ -447,12 +447,12 @@ int ust_consumer_metadata_request(struct consumer_socket *socket) assert(socket); rcu_read_lock(); - pthread_mutex_lock(socket->lock); - health_code_update(); /* Wait for a metadata request */ + pthread_mutex_lock(socket->lock); ret = consumer_socket_recv(socket, &request, sizeof(request)); + pthread_mutex_unlock(socket->lock); if (ret < 0) { goto end; } @@ -487,17 +487,21 @@ int ust_consumer_metadata_request(struct consumer_socket *socket) } assert(ust_reg); + pthread_mutex_lock(&ust_reg->lock); ret_push = ust_app_push_metadata(ust_reg, socket, 1); - if (ret_push < 0) { + pthread_mutex_unlock(&ust_reg->lock); + if (ret_push == -EPIPE) { + DBG("Application or relay closed while pushing metadata"); + } else if (ret_push < 0) { ERR("Pushing metadata"); ret = -1; goto end; + } else { + DBG("UST Consumer metadata pushed successfully"); } - DBG("UST Consumer metadata pushed successfully"); ret = 0; end: - pthread_mutex_unlock(socket->lock); rcu_read_unlock(); return ret; }