[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: emacs' turn: remove useless if-before-free tests
From: |
Jim Meyering |
Subject: |
Re: emacs' turn: remove useless if-before-free tests |
Date: |
Fri, 13 Jun 2008 00:54:50 +0200 |
Jim Meyering <address@hidden> wrote:
> Jim Meyering <address@hidden> wrote:
>> Emanuele Giaquinta <address@hidden> wrote:
>>> On Mon, Jun 02, 2008 at 08:14:18AM +0200, Jim Meyering wrote:
>>>
>>>> Stefan Monnier <address@hidden> wrote:
>>>> > Sounds like a good cleanup.
>>>> > Feel free to install it unless there's a strong objection.
>>>>
>>>> Thanks. I've committed those three change sets.
>>>
>>> This patch introduced a problem on os x, free on os x is redirected to
>>> unexmacosx.c:unexec_free, which does not support a NULL argument in an
>>> undumped emacs. The attached patch changes the problematic free call to
>>> xfree, as done a few lines below for another pointer.
>>>
>>> Emanuele
>>>
>>> diff --git a/src/lread.c b/src/lread.c
>>> index e5e77bc..3e0bd1f 100644
>>> --- a/src/lread.c
>>> +++ b/src/lread.c
>>> @@ -1269,7 +1269,7 @@ Return t if the file exists and loads successfully.
>>> */)
>>>
>>> UNGCPRO;
>>>
>>> - free (saved_doc_string);
>>> + xfree (saved_doc_string);
>>> saved_doc_string = 0;
>>> saved_doc_string_size = 0;
>>
>> Thanks for catching and fixing that.
>> If using xfree (with its MALLOC_BLOCK_INPUT guard) is important there,
>> as it seems to be, then your patch also fixes a platform-independent
>> race condition bug.
>>
>> The following change is probably a good idea, too.
>> It makes unexec_free (NULL) a no-op, just like free (NULL) is:
>>
>> 2008-06-08 Jim Meyering <address@hidden>
>>
>> make unexec_free handle NULL the same way free does
>> * unexmacosx.c (unexec_free): Ignore a NULL argument.
>
> If no one objects soon, I'll commit both our changes.
Done.