+ if (periodic_rotation) {
+ /*
+ * Continue processing even on error as multiple schedules can
+ * be specified at once.
+ */
+ cmd_ret = add_schedule(session_name,
+ LTTNG_ROTATION_SCHEDULE_TYPE_PERIODIC,
+ timer_us);
+ }
+
+ if (size_rotation) {
+ enum cmd_error_code tmp_ret;
+
+ /* Don't overwrite cmd_ret if it already indicates an error. */
+ tmp_ret = add_schedule(session_name,
+ LTTNG_ROTATION_SCHEDULE_TYPE_SIZE_THRESHOLD,
+ size_bytes);
+ cmd_ret = cmd_ret ? cmd_ret : tmp_ret;
+ }
+
+ if (lttng_opt_mi) {
+ /* Close rotation schedule results element */
+ ret = mi_lttng_writer_close_element(writer);
+ if (ret) {
+ goto error;
+ }
+ }
+
+close_command: