[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Automake-NG] [FYI 2/2] built sources: avoid fork bomb in $(BUILT_SO
From: |
Stefano Lattarini |
Subject: |
Re: [Automake-NG] [FYI 2/2] built sources: avoid fork bomb in $(BUILT_SOURCES) handling |
Date: |
Wed, 19 Sep 2012 21:49:33 +0200 |
On 09/19/2012 03:19 PM, Akim Demaille wrote:
>
> Le 16 sept. 2012 à 20:21, Stefano Lattarini a écrit :
>
>> Hi Akim.
>>
>> On 09/16/2012 03:48 PM, Akim Demaille wrote:
>>>
>>> Le 11 sept. 2012 à 16:49, Stefano Lattarini a écrit :
>>>
>>>> Due to how the handling of $(BUILT_SOURCES) was implemented in Automake-NG,
>>>> a recursive make call in the recipe of any $(BUILT_SOURCES) (or of any of
>>>> its prerequisites) would have caused an infinite recursion (complete with
>>>> fork bomb, yuck). Work around the issue.
>>>
>>> Shouldn't some error message be sent to diagnose something wrong?
>>>
>> But my patch now *avoids* the error in the first place (see the test case),
>> so we shouldn't report anything. Or am I missing something?
>
> Hi Stefano,
>
> It was unclear to me that the kind of error that would arise
> would be *only* be due to Automake-NG's implementation, or
> partly due to the user (possibly declaring recursive dependencies).
>
Well, if the user calls "make all" in the recipe for a $(BUILT_SOURCES),
he will still experience a fork bomb, even after this patch -- but that
is the case also for mainline Automake, so no regression here. On the
other hand, before this patch, the Automake-NG implementation would
have caused a fork bomb should *any* recursive make call be issued in
a recipe for a $(BUILT_SOURCES), even if such call entailed no infinite
recursion by itself -- that was a regression, one that hit a real-world
package like GNU Smalltalk, and which my patch has fixed. Does this
clarify the matter?
> If the user is somewhat responsible, then she should be told.
> But of course if it's only a technical detail, let's keep it
> silent, clearly.
>
Thanks,
Stefano