• Cedric Roux's avatar
    itti: test an assumption that the new ITTI implementation is broken · da540890
    Cedric Roux authored
    The previous implementation has the notion of 'task ready' that is
    removed from the new implementation.
    
    When a task is created, it initializes some data structures and whatever
    and then marks itself ready. Then it waits for all the other tasks to
    be also ready. Then it does what it has to do.
    
    The task creator creates all the tasks, then waits for each of them to
    be ready then it sets a global variable to signal all the tasks that
    all the other tasks are ready and that they can start their work.
    
    The new ITTI implementation wants to be API-compatible with the previous
    implementation but completely fails to respect this initialization
    mechanism, leading to various random crashes.
    
    We already observe some failures in the CI testbench with the basic
    simulator.
    
    This commit is not to be integrated into the develop branch but is done
    to check if the analysis above is correct.
    
    If it is then the basic simulator should work properly in the CI, as it
    more or less used to do with the previous IITI implementation.
    
    And then we need a proper fix. What is done here is not really satisfying.
    (But can go into develop if no cleaner solution is found.)
    
    Let's see...
    da540890
intertask_interface.cpp 14.4 KB