From 7c8a138614de162b26bd280934a4d0569701f07c Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Mon, 25 Jul 2011 20:13:13 -0400 Subject: [PATCH] Clear field mask before retry. Signed-off-by: Mathieu Desnoyers --- formats/ctf/metadata/ctf-visitor-generate-io-struct.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c index bba15b68..2eba30bd 100644 --- a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c +++ b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c @@ -1898,7 +1898,6 @@ int ctf_trace_declaration_visit(FILE *fd, int depth, struct ctf_node *node, stru ret = -EPERM; goto error; } else { - CTF_TRACE_SET_FIELD(trace, byte_order); if (byte_order != trace->byte_order) { trace->byte_order = byte_order; /* @@ -1909,6 +1908,7 @@ int ctf_trace_declaration_visit(FILE *fd, int depth, struct ctf_node *node, stru return -EINTR; } } + CTF_TRACE_SET_FIELD(trace, byte_order); } else if (!strcmp(left, "packet.header")) { struct declaration *declaration; @@ -2003,8 +2003,10 @@ error: free_declaration_scope(trace->declaration_scope); trace->declaration_scope = NULL; /* byte order changed while creating types, retry. */ - if (ret == -EINTR) + if (ret == -EINTR) { + trace->field_mask = 0; goto restart; + } return ret; } -- 2.34.1