[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL v2 3/8] qapi/commands: refactor error handling code
From: |
Markus Armbruster |
Subject: |
[PULL v2 3/8] qapi/commands: refactor error handling code |
Date: |
Thu, 27 Jan 2022 15:21:57 +0100 |
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Move error_propagate() to if (err) and make "if (err)" block mandatory.
This is to simplify further commit, which will bring trace events
generation for QMP commands.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-Id: <20220126161130.3240892-3-vsementsov@virtuozzo.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
docs/devel/qapi-code-gen.rst | 2 +-
scripts/qapi/commands.py | 10 +++++++---
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/docs/devel/qapi-code-gen.rst b/docs/devel/qapi-code-gen.rst
index a3b5473089..feafed79b5 100644
--- a/docs/devel/qapi-code-gen.rst
+++ b/docs/devel/qapi-code-gen.rst
@@ -1690,8 +1690,8 @@ Example::
}
retval = qmp_my_command(arg.arg1, &err);
- error_propagate(errp, err);
if (err) {
+ error_propagate(errp, err);
goto out;
}
diff --git a/scripts/qapi/commands.py b/scripts/qapi/commands.py
index 21001bbd6b..17e5ed2414 100644
--- a/scripts/qapi/commands.py
+++ b/scripts/qapi/commands.py
@@ -74,14 +74,18 @@ def gen_call(name: str,
ret = mcgen('''
%(lhs)sqmp_%(c_name)s(%(args)s&err);
- error_propagate(errp, err);
''',
c_name=c_name(name), args=argstr, lhs=lhs)
- if ret_type:
- ret += mcgen('''
+
+ ret += mcgen('''
if (err) {
+ error_propagate(errp, err);
goto out;
}
+''')
+
+ if ret_type:
+ ret += mcgen('''
qmp_marshal_output_%(c_name)s(retval, ret, errp);
''',
--
2.31.1
- [PULL v2 0/8] QAPI patches patches for 2022-01-27, Markus Armbruster, 2022/01/27
- [PULL v2 2/8] qapi/gen: Add FOO.trace-events output module, Markus Armbruster, 2022/01/27
- [PULL v2 7/8] meson: document why we don't generate trace events for tests/ and qga/, Markus Armbruster, 2022/01/27
- [PULL v2 4/8] qapi/commands: Optionally generate trace for QMP commands, Markus Armbruster, 2022/01/27
- [PULL v2 5/8] meson: generate trace events for qmp commands, Markus Armbruster, 2022/01/27
- [PULL v2 8/8] qapi: generate trace events by default, Markus Armbruster, 2022/01/27
- [PULL v2 1/8] schemas: add missing vim modeline, Markus Armbruster, 2022/01/27
- [PULL v2 6/8] docs/qapi-code-gen: update to cover trace events code generation, Markus Armbruster, 2022/01/27
- [PULL v2 3/8] qapi/commands: refactor error handling code,
Markus Armbruster <=
- Re: [PULL v2 0/8] QAPI patches patches for 2022-01-27, Peter Maydell, 2022/01/27