X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-consumer.c;h=f77f67d7f4731333bd44088554e0768fce85685a;hb=445fe60d5571382fd203cfb4ab32030e29fc490b;hp=b0a52b33ad49ca196d62326330e70750b7028190;hpb=0c759fc95033a3d6d7cb939f39dd643ce7e127ee;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ust-consumer.c b/src/bin/lttng-sessiond/ust-consumer.c index b0a52b33a..f77f67d7f 100644 --- a/src/bin/lttng-sessiond/ust-consumer.c +++ b/src/bin/lttng-sessiond/ust-consumer.c @@ -250,6 +250,7 @@ int ust_consumer_get_channel(struct consumer_socket *socket, assert(ua_chan); assert(socket); + memset(&msg, 0, sizeof(msg)); msg.cmd_type = LTTNG_CONSUMER_GET_CHANNEL; msg.u.get_channel.key = ua_chan->key; @@ -307,7 +308,7 @@ int ust_consumer_get_channel(struct consumer_socket *socket, cds_list_add_tail(&stream->list, &ua_chan->streams.head); ua_chan->streams.count++; - DBG2("UST app stream %d received succesfully", ua_chan->streams.count); + DBG2("UST app stream %d received successfully", ua_chan->streams.count); } /* This MUST match or else we have a synchronization problem. */ @@ -344,6 +345,7 @@ int ust_consumer_destroy_channel(struct consumer_socket *socket, assert(ua_chan); assert(socket); + memset(&msg, 0, sizeof(msg)); msg.cmd_type = LTTNG_CONSUMER_DESTROY_CHANNEL; msg.u.destroy_channel.key = ua_chan->key; @@ -381,8 +383,8 @@ int ust_consumer_send_stream_to_ust(struct ust_app *app, ret = ustctl_send_stream_to_ust(app->sock, channel->obj, stream->obj); if (ret < 0) { if (ret != -EPIPE && ret != -LTTNG_UST_ERR_EXITING) { - ERR("Error ustctl send stream %s to app pid: %d with ret %d", - stream->name, app->pid, ret); + ERR("ustctl send stream handle %d to app pid: %d with ret %d", + stream->obj->handle, app->pid, ret); } else { DBG3("UST app send stream to ust failed. Application is dead."); } @@ -445,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; } @@ -469,6 +471,7 @@ int ust_consumer_metadata_request(struct consumer_socket *socket) DBG("PID registry not found for session id %" PRIu64, request.session_id_per_pid); + memset(&msg, 0, sizeof(msg)); msg.cmd_type = LTTNG_ERR_UND; (void) consumer_send_msg(socket, &msg); /* @@ -484,7 +487,9 @@ 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); + pthread_mutex_unlock(&ust_reg->lock); if (ret_push < 0) { ERR("Pushing metadata"); ret = -1; @@ -494,7 +499,6 @@ int ust_consumer_metadata_request(struct consumer_socket *socket) ret = 0; end: - pthread_mutex_unlock(socket->lock); rcu_read_unlock(); return ret; }