Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Development/cyclicbuffer #1739

Merged
merged 71 commits into from
Sep 9, 2024
Merged

Development/cyclicbuffer #1739

merged 71 commits into from
Sep 9, 2024

Commits on Feb 14, 2024

  1. [Core/cyclicbuffer] : Initialize mutex and condition variable only at…

    … (the true) creation of the underlying buffer.
    
    Initialization of an already intialized mutex or condition variable may result in undefined behavior. In the context of multiple users one 'creates' and others 'open'. This allows differentiation similar to the contructor taking DataElementFile as argument.
    msieben committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    1bcfc79 View commit details
    Browse the repository at this point in the history
  2. [Core/cyclicbuffer] : Let (all) users 'wait' until the mutex and cond…

    …ition variables are properly initialized before first use.
    msieben committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    04527f1 View commit details
    Browse the repository at this point in the history
  3. [Core/cyclicbuffer] : replace getpid() with gettid().

    The typical use case is inter-process, but it allows for multiple threads within a process as gettid() is unique over all processes.
    msieben committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    30d7672 View commit details
    Browse the repository at this point in the history
  4. [Core/cyclicbuffer] : POSIX requires a locked mutex before 'pthread_c…

    …ond_wait' and 'pthread_cond_timedwait'.
    msieben committed Feb 14, 2024
    Configuration menu
    Copy the full SHA
    a91e6a7 View commit details
    Browse the repository at this point in the history

Commits on Feb 15, 2024

  1. Configuration menu
    Copy the full SHA
    21fcdc7 View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

  1. [Core/cyclicbuffer] : Avoid Thread workers to trigger false positives.

    Different workers may be executed from the same underlying pthread.
    msieben committed Feb 19, 2024
    Configuration menu
    Copy the full SHA
    907031e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d174173 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    29a35de View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2024

  1. Configuration menu
    Copy the full SHA
    206ab99 View commit details
    Browse the repository at this point in the history
  2. [Tests/cyclic-buffer] : Add actual write and read operations on varia…

    …ble (underlying) buffer sizes.
    msieben committed Feb 20, 2024
    Configuration menu
    Copy the full SHA
    a021f70 View commit details
    Browse the repository at this point in the history

Commits on Feb 21, 2024

  1. Configuration menu
    Copy the full SHA
    d4e52a4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f41de12 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    326a25c View commit details
    Browse the repository at this point in the history

Commits on Feb 22, 2024

  1. Configuration menu
    Copy the full SHA
    5501003 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    81c46d2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7151139 View commit details
    Browse the repository at this point in the history
  4. [Core/cyclicbuffer] : Amend 'f41de1249bc139271c199167307777486499c407'.

    Check 'length == 0' only once.
    msieben committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    723fc11 View commit details
    Browse the repository at this point in the history
  5. [core/cyclicbufferi] : Checrry-picked '5b057fe59fd6656d93f29d5059acd9…

    …0c1e9c3cfa' from 'development/cyclicbuffer-deadlock-on-length'.
    msieben committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    2fa2701 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    180d6d2 View commit details
    Browse the repository at this point in the history
  7. [core/cyclicbuffer] : Cherry-picked 'a5c5ef9c665c8b4ffa1389bf04e9c289…

    …14546c50' from 'development/cyclicbuffer-deadlock-on-length'.
    msieben committed Feb 22, 2024
    Configuration menu
    Copy the full SHA
    acb04f4 View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2024

  1. [core/cyclicbuffer] : relax the 'mode' condition.

    Although explicit specification may be preferred, implicit is apparently the accepted use case.
    msieben committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    ced9845 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c911301 View commit details
    Browse the repository at this point in the history
  3. [Tests/unit/IPTestAdministrator] : Disable abort.

    While (looped) waiting on condition variable in 'Sync()' the time out triggers an 'abort()'.
    msieben committed Feb 23, 2024
    Configuration menu
    Copy the full SHA
    b749b88 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e1f518e View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. Configuration menu
    Copy the full SHA
    b41d102 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c753220 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    afc0f64 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9cda7a5 View commit details
    Browse the repository at this point in the history

Commits on Feb 29, 2024

  1. Configuration menu
    Copy the full SHA
    3b2953c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e538ab8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    17aef16 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    650411d View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2024

  1. Configuration menu
    Copy the full SHA
    cc9a2d3 View commit details
    Browse the repository at this point in the history
  2. [core/cyclicbuffer] : Add robustness checks.

    In addition: 'initiator' is only relevant for valid buffers.
    msieben committed Mar 5, 2024
    Configuration menu
    Copy the full SHA
    74931f7 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2024

  1. Configuration menu
    Copy the full SHA
    cc16fec View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

  1. Configuration menu
    Copy the full SHA
    61a51e2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e7bd698 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2024

  1. [core/cyclicbuffer] : Remove superfluous ASSERT.

    Multiple 'writers' can try to make a reservation in a guarded state. There is no option to check beforehand and they should check the return value. In addition, the return value is ambiguous as error codes are masked by 'actuallength'.
    msieben committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    80fc5b4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce5423a View commit details
    Browse the repository at this point in the history
  3. [core/cyclicbuffer] : Do not ASSERT on write with reservation.

    'writers' have no ability to check the presense of any ongoing reservation.
    msieben committed Mar 8, 2024
    Configuration menu
    Copy the full SHA
    d801c2c View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2024

  1. [core/cyclicbuffer] : buffer reads should not let the tail exceed the…

    … head.
    
    Custom lengths should consider (maximum) distance between tail and head.
    msieben committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    392fb0d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b34c69d View commit details
    Browse the repository at this point in the history
  3. [Tests/unit/core] : Introduce Cyclicbuffer data exchange test.

    - Unresponsive child processes are 'killed' after a set timeout.
    
    - Disable ASSERT triggers in 'test_cyclicbuffer'
    msieben committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    dd57837 View commit details
    Browse the repository at this point in the history
  4. [core/cyclicbuffer] : Include the last element in writing.

    It is unintuitive that the anmount of data is always 1 less than the (maximum) size.
    msieben committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    6ee3271 View commit details
    Browse the repository at this point in the history
  5. [core/cyclicbuffer] : Remove ASSERT in 'IsValid()'.

    The condition prevents checking an invalid state after construction. Moreover, the invalid state condition is part of the return value, and, identical ASSERTs are used throughout the code where the invalid pointer may be used.
    msieben committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    62c3ff5 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0926ec2 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2024

  1. Merge branch 'master' into development/cyclicbuffer

    Kept certain 'local' files intact with merge strategy
    msieben committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    c652c11 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c628be1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    34298f3 View commit details
    Browse the repository at this point in the history
  4. [Tests/cyclic-buffer] : Add unresponsiveness detection after 'c628be1…

    …1af07068533d5035e434137863df792cc'
    msieben committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    2485bc2 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    db117dc View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    5db0dec View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2024

  1. [Tests/cyclic-buffer] : Amend '2485bc2120017f587e29df393b6b1e4f206a87…

    …23'.
    
    - Start using the unresponsive detection.
    
    - Copy and use the boolean result of the guarded code.
    msieben committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    f4a28de View commit details
    Browse the repository at this point in the history
  2. [Tests/cyclic-buffer] : Few improvements.

    - Added or modified comments.
    
    - Only validate reader data if overwrite is disabled.
    msieben committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    3b94616 View commit details
    Browse the repository at this point in the history
  3. [core/cyclicbuffer / Tests/unit/core/] : Add 'ReservedRemaining' for …

    …testing the effect of 'Reserved' and 'Write'
    msieben committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    5f185c4 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2024

  1. Configuration menu
    Copy the full SHA
    40e79d4 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2024

  1. [Tests/unit/core/] : Amend '40e79d46267710d826c5622700dd4b7fdc8fb5a0'

    Make more explicit the effect of 'write', 'reserved' and 'overwrite' with modified data set
    msieben committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    7d880d0 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2024

  1. Configuration menu
    Copy the full SHA
    f861347 View commit details
    Browse the repository at this point in the history
  2. [Tests / Test/unit/core] : Fix build 'cyclic-buffer' and 'test_cyclic…

    …buffer_dataexchange.cpp'.
    msieben committed May 21, 2024
    Configuration menu
    Copy the full SHA
    25b8d79 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2024

  1. Configuration menu
    Copy the full SHA
    04b64c3 View commit details
    Browse the repository at this point in the history
  2. WIP

    msieben committed Aug 14, 2024
    Configuration menu
    Copy the full SHA
    2b117bf View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. [Core/CyclicBuffer / Tests/unit/core] : fix build 'test_cyclicbuffer'…

    … and revert 'CyclicBuffer' changes
    msieben committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    7b0880b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c20ba96 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1c313c4 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2024

  1. Added buildinfo method (build flags) for QA report (#1712)

    * Added buildinfo method for QA report
    
    * Added public compilesettings
    
    * Updated Controller.cpp from seb comments
    
    * Updated CMakeLists.txt in core
    
    * added priv compilesettings
    
    * Added threadcount to buildinfo
    
    * Added unused variable macro
    
    * systemtype and universal build flags
    
    * enum extensions
    
    * spelling
    
    * empty commit to test action
    
    * shortened namespaces and whitespace
    
    * extra line
    
    ---------
    
    Co-authored-by: Pierre Wielders <pierre@wielders.net>
    2 people authored and msieben committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    de2cc25 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a5a4886 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    27efc93 View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. Configuration menu
    Copy the full SHA
    ee1bd19 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Configuration menu
    Copy the full SHA
    547317e View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Configuration menu
    Copy the full SHA
    6fb6e0b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a80c7b View commit details
    Browse the repository at this point in the history