| From: | Robert Haas <robertmhaas(at)gmail(dot)com> | 
|---|---|
| To: | Andres Freund <andres(at)2ndquadrant(dot)com> | 
| Cc: | pgsql-hackers(at)postgresql(dot)org | 
| Subject: | Re: Do we want a xmalloc or similar function in the Backend? | 
| Date: | 2012-06-19 17:35:53 | 
| Message-ID: | CA+TgmoY1obwUcG6obniKRahB1QZcF1cQQhrN=_nZRjT4dgiPow@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Tue, Jun 19, 2012 at 10:17 AM, Andres Freund <andres(at)2ndquadrant(dot)com> wrote:
> There are 70+ calls of malloc in the backend in the form of
>
> type* foo = malloc(sizeof(...));
> if(!foo)
>   elog(ERROR, "could not allocate memory");
>
> which is a bit annoying to write at times. Would somebody argue against
> introducing a function that does the above named xmalloc() or malloc_or_die()?
I can't even find 70 malloc calls in the entire backend, let alone 70
with that pattern.  Still, I don't think malloc_or_error (not die)
would be a bad idea.
But the error should definitely be written as:
                        ereport(ERROR,
                                        (errcode(ERRCODE_OUT_OF_MEMORY),
                                         errmsg("out of memory")));
...not elog.
-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2012-06-19 17:50:08 | Re: Do we want a xmalloc or similar function in the Backend? | 
| Previous Message | Alex Hunsaker | 2012-06-19 17:28:16 | Re: pl/perl and utf-8 in sql_ascii databases |