You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There is a potential concurrency issue in the relpEngineDestruct where shared resources may be accessed simultaneously by multiple threads, leading to race conditions. To ensure thread safety and prevent inconsistent state, it is essential to add mutex locking inside for loops traversing over the pSessLstRoot and pSrvLstRoot for destructing sessions and servers in relpEngineDestruct function of relp.c file.
The proposed change involves:
Add mutex lock inside for loop traversing pSessLstRoot and unlock after returning from relpSessDestruct function.
Add mutex lock inside for loop traversing pSrvLstRoot and unlock after returning from relpSrvDestruct function.
Testing the function under high-concurrency scenarios to ensure thread safety.
This change will help improve the reliability and stability of the function in multi-threaded environments and can protect from potential rsyslog crash during shutdown.
The text was updated successfully, but these errors were encountered:
There is a potential concurrency issue in the relpEngineDestruct where shared resources may be accessed simultaneously by multiple threads, leading to race conditions. To ensure thread safety and prevent inconsistent state, it is essential to add mutex locking inside for loops traversing over the pSessLstRoot and pSrvLstRoot for destructing sessions and servers in relpEngineDestruct function of relp.c file.
The proposed change involves:
This change will help improve the reliability and stability of the function in multi-threaded environments and can protect from potential rsyslog crash during shutdown.
The text was updated successfully, but these errors were encountered: