switch_output
struct switch_output switch_output;
if (rec->switch_output.num_files) {
int n = rec->switch_output.cur_file + 1;
if (n >= rec->switch_output.num_files)
rec->switch_output.cur_file = n;
if (rec->switch_output.filenames[n]) {
remove(rec->switch_output.filenames[n]);
zfree(&rec->switch_output.filenames[n]);
rec->switch_output.filenames[n] = new_filename;
return rec->switch_output.signal &&
return rec->switch_output.size &&
(rec->bytes_written >= rec->switch_output.size);
return rec->switch_output.time &&
if (rec->opts.auxtrace_snapshot_mode || rec->switch_output.enabled) {
if (rec->switch_output.enabled)
if (rec->switch_output.time)
alarm(rec->switch_output.time);
struct switch_output *s = &rec->switch_output;
struct switch_output *s = &rec->switch_output;
OPT_STRING_OPTARG_SET(0, "switch-output", &record.switch_output.str,
&record.switch_output.set, "signal or size[BKMG] or time[smhd]",
OPT_INTEGER(0, "switch-max-files", &record.switch_output.num_files,
if (rec->switch_output.time) {
alarm(rec->switch_output.time);
if (rec->switch_output.num_files) {
rec->switch_output.filenames = calloc(rec->switch_output.num_files,
if (!rec->switch_output.filenames) {
} else if (rec->switch_output.enabled) {