int relay_send_version(struct lttcomm_relayd_hdr *recv_hdr,
struct relay_command *cmd)
{
- int ret = htobe32(LTTNG_OK);
+ int ret;
struct lttcomm_relayd_version reply;
- struct relay_session *session = NULL;
+ struct relay_session *session;
if (cmd->session == NULL) {
session = zmalloc(sizeof(struct relay_session));
session->id = ++last_relay_session_id;
DBG("Created session %" PRIu64, session->id);
cmd->session = session;
+ } else {
+ session = cmd->session;
}
session->version_check_done = 1;
- sscanf(VERSION, "%u.%u", &reply.major, &reply.minor);
+ ret = sscanf(VERSION, "%u.%u", &reply.major, &reply.minor);
+ if (ret < 2) {
+ ERR("Error in scanning version");
+ ret = -1;
+ goto end;
+ }
reply.major = htobe32(reply.major);
reply.minor = htobe32(reply.minor);
ret = cmd->sock->ops->sendmsg(cmd->sock, &reply,
goto end_unlock;
}
+ DBG2("Relay wrote %d bytes to tracefile for stream id %" PRIu64,
+ ret, stream->stream_handle);
+
ret = write_padding_to_file(stream->fd, be32toh(data_hdr.padding_size));
if (ret < 0) {
goto end_unlock;
}
- DBG2("Relay wrote %d bytes to tracefile for stream id %" PRIu64,
- ret, stream->stream_handle);
-
stream->prev_seq = net_seq_num;
/* Check if we need to close the FD */