Marc-Andre Lureau <mlur...@redhat.com> writes: > Hi > > On Mon, Feb 12, 2018 at 8:48 PM, Eric Blake <ebl...@redhat.com> wrote: >> On 02/11/2018 03:35 AM, Markus Armbruster wrote: >>> >>> A massive number of objects depends on QAPI-generated headers. In my >>> "build everything" tree, it's roughly 4800 out of 5100. This is >>> particularly annoying when only some of the generated files change, >>> say for a doc fix. >>> >>> Improve qapi-gen.py to touch its output files only if they actually >>> change. Rebuild time for a QAPI doc fix drops from many minutes to a >>> few seconds. Rebuilds get faster for certain code changes, too. For >>> instance, adding a simple QMP event now recompiles less than 200 >>> instead of 4800 objects. But adding a QAPI type is as bad as ever; >>> we've clearly got more work to do. >>> >>> Signed-off-by: Markus Armbruster <arm...@redhat.com> >>> Reviewed-by: Eric Blake <ebl...@redhat.com> >>> --- >>> scripts/qapi/common.py | 11 +++++++++-- >>> 1 file changed, 9 insertions(+), 2 deletions(-) >>> >>> diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py >>> index 8290795dc1..2e58573a39 100644 >>> --- a/scripts/qapi/common.py >>> +++ b/scripts/qapi/common.py >>> @@ -1951,9 +1951,16 @@ class QAPIGen(object): >>> except os.error as e: >>> if e.errno != errno.EEXIST: >>> raise >>> - f = open(os.path.join(output_dir, fname), 'w') >>> - f.write(self._top(fname) + self._preamble + self._body >>> + fd = os.open(os.path.join(output_dir, fname), >>> + os.O_RDWR | os.O_CREAT, 0666) >> >> >> patchew complained here for mingw; I'm not sure why. > > python3 syntax error. > https://stackoverflow.com/questions/1837874/invalid-token-when-using-octal-numbers
Yes, we need to spell the mode 0o666.