Message ID | AANLkTim5vR_Q-M4rAowfiak+7R46gJiAKMy-CaZDHya6@mail.gmail.com |
---|---|
State | New |
Headers | show |
Am 26.08.2010 20:38, schrieb Blue Swirl: > Add memory management rules, somewhat like libvirt HACKING. > > Signed-off-by: Blue Swirl <blauwirbel@gmail.com> > --- > HACKING | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/HACKING b/HACKING > index 19fc874..554009e 100644 > --- a/HACKING > +++ b/HACKING > @@ -72,3 +72,14 @@ Typedefs are used to eliminate the redundant > 'struct' keyword. > 2.4. Reserved namespaces in C > Underscore capital, double underscore, and underscore 't' suffixes should be > avoided. > + > +3. Low level memory management > + > +Use of the malloc/free/realloc/calloc/valloc/memalign/posix_memalign > +APIs is not allowed in the QEMU codebase. Instead of these routines, > +use the replacement qemu_malloc/qemu_mallocz/qemu_realloc/qemu_free or > +qemu_vmalloc/qemu_memalign/qemu_vfree APIs. > + > +Memory allocated by qemu_vmalloc or qemu_memalign must be freed with > +qemu_vfree, since breaking this will cause problems on Win32 and user > +emulators. Maybe add that a NULL check for the qemu_malloc result is redundant. And a warning about the stupid qemu_malloc(0) behaviour would be appropriate, too. Because if you don't know it, you'll write buggy code. Kevin
diff --git a/HACKING b/HACKING index 19fc874..554009e 100644 --- a/HACKING +++ b/HACKING @@ -72,3 +72,14 @@ Typedefs are used to eliminate the redundant 'struct' keyword. 2.4. Reserved namespaces in C Underscore capital, double underscore, and underscore 't' suffixes should be avoided. + +3. Low level memory management + +Use of the malloc/free/realloc/calloc/valloc/memalign/posix_memalign +APIs is not allowed in the QEMU codebase. Instead of these routines, +use the replacement qemu_malloc/qemu_mallocz/qemu_realloc/qemu_free or +qemu_vmalloc/qemu_memalign/qemu_vfree APIs. + +Memory allocated by qemu_vmalloc or qemu_memalign must be freed with +qemu_vfree, since breaking this will cause problems on Win32 and user
Add memory management rules, somewhat like libvirt HACKING. Signed-off-by: Blue Swirl <blauwirbel@gmail.com> --- HACKING | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) +emulators.