X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Frelayd%2Frelayd.c;h=b936a4d3e7798e35e90983b6e20692d2b291bfc8;hb=68d5b00bbc032274a0c60164f0ac2dfd47e6d106;hp=7f0ea74e94085b99873049a736941015e85fda5c;hpb=a7c918ad2aefd0c540b0aa4aacace40941d94643;p=lttng-tools.git diff --git a/src/common/relayd/relayd.c b/src/common/relayd/relayd.c index 7f0ea74e9..b936a4d3e 100644 --- a/src/common/relayd/relayd.c +++ b/src/common/relayd/relayd.c @@ -72,14 +72,14 @@ static int send_command(struct lttcomm_relayd_sock *rsock, memcpy(buf + sizeof(header), data, size); } + DBG3("Relayd sending command %d of size %" PRIu64, (int) cmd, buf_size); ret = rsock->sock.ops->sendmsg(&rsock->sock, buf, buf_size, flags); if (ret < 0) { + PERROR("Failed to send command %d of size %" PRIu64, + (int) cmd, buf_size); ret = -errno; goto error; } - - DBG3("Relayd sending command %d of size %" PRIu64, cmd, buf_size); - error: free(buf); alloc_error: @@ -378,7 +378,8 @@ end: * If major versions are compatible, we assign minor_to_use to the * minor version of the procotol we are going to use for this session. * - * Return 0 if compatible else negative value. + * Return 0 if the two daemons are compatible, LTTNG_ERR_RELAYD_VERSION_FAIL + * otherwise, or a negative value on network errors. */ int relayd_version_check(struct lttcomm_relayd_sock *rsock) { @@ -420,7 +421,7 @@ int relayd_version_check(struct lttcomm_relayd_sock *rsock) */ if (msg.major != rsock->major) { /* Not compatible */ - ret = -1; + ret = LTTNG_ERR_RELAYD_VERSION_FAIL; DBG2("Relayd version is NOT compatible. Relayd version %u != %u (us)", msg.major, rsock->major); goto error; @@ -856,7 +857,11 @@ int relayd_send_index(struct lttcomm_relayd_sock *rsock, } /* Send command */ - ret = send_command(rsock, RELAYD_SEND_INDEX, &msg, sizeof(msg), 0); + ret = send_command(rsock, RELAYD_SEND_INDEX, &msg, + lttcomm_relayd_index_len(lttng_to_index_major(rsock->major, + rsock->minor), + lttng_to_index_minor(rsock->major, rsock->minor)), + 0); if (ret < 0) { goto error; }