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

Fix for lock order inversion between uri_map_mutex and conn_mutex #185

Merged
merged 3 commits into from
Aug 11, 2020

Commits on Aug 10, 2020

  1. Fix for lock order inversion between uri_map_mutex and conn_mutex

    - removing connection mutex lock in sendToOne() to remove order dependency
    - protecting reference vectors using a new mutex instead of uri_map_mutex
    
    Signed-off-by: Gautam Venkataramanan <gautam.chennai@gmail.com>
    gautvenk committed Aug 10, 2020
    Configuration menu
    Copy the full SHA
    9c83472 View commit details
    Browse the repository at this point in the history
  2. Address Madhu's comments to reinstate conn_mutex

    - I am influencing the ordering now: conn_mutex obtained before ref_vec_mutex. This will take care of deadlock.
    - Critical section for conn_mutex is larger. We will discuss further and optimize the critical section and also may be move to connID-->connPtr map for more safety.
    
    Signed-off-by: Gautam Venkataramanan <gautam.chennai@gmail.com>
    gautvenk committed Aug 10, 2020
    2 Configuration menu
    Copy the full SHA
    d445b09 View commit details
    Browse the repository at this point in the history
  3. lock conn_mutex in OpflexServerConnection::on_prr_timer_async() simil…

    …ar to OpflexServerConnection::on_policy_update_async()
    
    Signed-off-by: Gautam Venkataramanan <gautam.chennai@gmail.com>
    gautvenk committed Aug 10, 2020
    Configuration menu
    Copy the full SHA
    e38ddab View commit details
    Browse the repository at this point in the history