https://bz.apache.org/bugzilla/show_bug.cgi?id=62824

Stefan Bodewig <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 OS|                            |All
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Stefan Bodewig <[email protected]> ---
Actually, this is not related to macro attributes at all. What you are doing is
similar to

        <target name="repro2">
          <parallel>
            <sequential>
              <macrodef name="innerMacro">
                <sequential>
                  <echo message="Temp: true"/>
                </sequential>
              </macrodef>
              <innerMacro />
            </sequential>
            <sequential>
              <macrodef name="innerMacro">
                <sequential>
                  <echo message="Temp: false"/>
                </sequential>
              </macrodef>
              <innerMacro />
            </sequential>
          </parallel>
        </target>

I.e. you define the same task "innerMacro" twice and when it comes to the point
where innerMacro is excecuted there is a race condition which task definition
is the one that gets used (the last one executed before the actual task is
run).

Defining macros of the same name simply is not a thread-safe operation (neither
would be running taksdef, typedef, scritpdef or presetdef defining same named
"things".

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to