struct relay_session *session = conn->session;
struct lttcomm_relayd_generic_reply reply;
+ memset(&reply, 0, sizeof(reply));
+
DBG("Clear session received");
if (!session || !conn->version_check_done) {
if (!opt_allow_clear) {
ERR("Trying to clear session, but clear is disallowed.");
- ret = -1;
- goto end_no_session;
+ ret = 0;
+ reply.ret_code = htobe32(LTTNG_ERR_CLEAR_RELAY_DISALLOW);
+ goto reply;
}
ret = session_clear(session);
-
- memset(&reply, 0, sizeof(reply));
if (ret < 0) {
reply.ret_code = htobe32(LTTNG_ERR_UNK);
} else {
reply.ret_code = htobe32(LTTNG_OK);
}
+reply:
send_ret = conn->sock->ops->sendmsg(conn->sock, &reply,
sizeof(struct lttcomm_relayd_generic_reply), 0);
if (send_ret < (ssize_t) sizeof(reply)) {