All of lore.kernel.org
 help / color / mirror / Atom feed
From: jcd@tribudubois.net
To: Markus Armbruster <armbru@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] use qemu_malloc and friends consistently
Date: Fri, 29 May 2009 13:38:21 +0100 (GMT+01:00)	[thread overview]
Message-ID: <4437345.69141243600701556.JavaMail.root@srv-05.w4a.fr> (raw)
In-Reply-To: <87hbz4t7i3.fsf@pike.pond.sub.org>


----- "Markus Armbruster" <armbru@redhat.com> a écrit :
> 
> No.  malloc() implements the same, well-known spec everywhere.  Some
> people don't understand or don't like the spec, but that doesn't make
> implementations of the spec incompatible.  Here's what you can expect
> from malloc():
> 
> * After p = malloc(SIZE), you can access p[i] for 0 <= i < SIZE.  It
>   follows that you must not dereference p at all if SIZE == 0.
> 
> * If malloc(SIZE) returns a null pointer, and SIZE != 0, then
> malloc()
>   failed.
> 
> * Any result of malloc() can safely be passed to free().
> 
> A wrapper like qemu_malloc() can implement a different spec, of
> course.
> But only if the spec is compatible, the wrapper can be used as a
> drop-in
> replacement.  Making it gratuitously incompatible is foolish, because
> it
> *breaks* code that works just fine with malloc().
> 
> We already agreed on one compatible difference: qemu_malloc() shall
> not
> fail, but just terminate the program.
> 
> We're debating another difference, namely what qemu_malloc(0) shall
> do.
> Two fine compatible options have been proposed here:
> 
> 1. qemu_malloc(0) shall return a null pointer.
> 
> 2. qemu_malloc(0) shall return a non-null pointer that can be passed
> to
>    qemu_free()
> 
> The one that got committed is incompatible.

Thanks for the clarification Markus.

JC

  reply	other threads:[~2009-05-29 12:38 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <2171027.69001243598252547.JavaMail.root@srv-05.w4a.fr>
2009-05-29 12:00 ` [Qemu-devel] [PATCH] use qemu_malloc and friends consistently jcd
2009-05-29 12:05   ` Kevin Wolf
2009-05-29 12:13     ` jcd
2009-05-29 12:32   ` Markus Armbruster
2009-05-29 12:38     ` jcd [this message]
     [not found] <1758936.71791243858884274.JavaMail.root@srv-05.w4a.fr>
2009-06-01 12:24 ` jcd
2009-06-01 23:46   ` Jamie Lokier
     [not found] <33383337.69831243610071896.JavaMail.root@srv-05.w4a.fr>
2009-05-29 15:15 ` jcd
     [not found] <28912134.69441243608238156.JavaMail.root@srv-05.w4a.fr>
2009-05-29 14:46 ` jcd
     [not found] <28932640.69341243603994530.JavaMail.root@srv-05.w4a.fr>
2009-05-29 13:35 ` jcd
     [not found] <18212122.68761243590277678.JavaMail.root@srv-05.w4a.fr>
2009-05-29 10:00 ` jcd
2009-05-29 10:10   ` Kevin Wolf
2009-05-29  5:58 Jean-Christophe Dubois
2009-05-29  8:42 ` Kevin Wolf
2009-05-29  9:05   ` Anthony Liguori
2009-05-29  9:51     ` malc
2009-05-29 10:05       ` Kevin Wolf
2009-05-29 10:23         ` malc
2009-05-29 10:34           ` Kevin Wolf
2009-05-29 10:40             ` malc
2009-05-29 10:49               ` Kevin Wolf
2009-05-29 10:56                 ` Anthony Liguori
2009-05-29 11:06                 ` malc
2009-05-29 11:14                   ` Kevin Wolf
2009-05-29 10:53       ` Anthony Liguori
2009-05-29 11:24         ` malc
2009-05-29 12:36           ` Gerd Hoffmann
2009-05-29 13:07             ` Paul Brook
2009-05-29 13:46               ` Gerd Hoffmann
2009-05-29 13:59               ` Glauber Costa
2009-05-29 14:34               ` Anthony Liguori
2009-05-29 15:06                 ` malc
2009-05-29 17:17               ` Julian Seward
2009-05-29 18:41                 ` Gerd Hoffmann
2009-05-29 21:12                 ` David Turner
2009-05-29 21:13                   ` David Turner
2009-06-02  7:26                   ` Gerd Hoffmann
2009-06-02  7:47                     ` Anthony Liguori
2009-06-02  8:58                       ` Daniel P. Berrange
2009-06-02 18:03                         ` David Turner
2009-06-02  8:48                     ` Avi Kivity
2009-06-02 18:02                     ` David Turner
2009-06-02 18:13                       ` Paul Brook
2009-06-02 19:49                         ` David Turner
2009-06-02 20:04                           ` Paul Brook
2009-06-02 20:42                             ` David Turner
2009-06-02 20:45                               ` Gerd Hoffmann
2009-06-02 20:48                               ` Gerd Hoffmann
2009-06-02 20:58                               ` Paul Brook
2009-06-02 21:19                                 ` David Turner
2009-06-02 19:03                       ` Avi Kivity
2009-05-29 12:51           ` Markus Armbruster
2009-05-29 10:57       ` Gerd Hoffmann
2009-05-29 11:28         ` malc
2009-05-29  9:28   ` jcd
2009-05-29  9:38     ` Kevin Wolf
2009-06-01 11:59     ` Jamie Lokier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4437345.69141243600701556.JavaMail.root@srv-05.w4a.fr \
    --to=jcd@tribudubois.net \
    --cc=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.