chenBright opened a new pull request, #3697:
URL: https://github.com/apache/brpc/pull/3697

   ### What problem does this PR solve?
   
   Issue Number: resolve 
   
   Problem Summary:
   
   `bthread_sem_post()` and `bthread_sem_post_n()` used relaxed ordering when 
adding permits. 
   This did not publish preceding writes to consumers that successfully 
acquired permits without 
   blocking in `butex_wait()`, potentially causing data races on shared 
payloads.
   
   ### What is changed and the side effects?
   
   Changed:
   
   Use `memory_order_release` in the shared post implementation, pairing with 
successful acquire 
   CAS operations in `wait`, `timedwait`, and `trywait`.
   
   Side effects:
   - Performance effects:
   
   - Breaking backward compatibility: 
   
   ---
   ### Check List:
   - Please make sure your changes are compilable.
   - When providing us with a new feature, it is best to add related tests.
   - Please follow [Contributor Covenant Code of 
Conduct](https://github.com/apache/brpc/blob/master/CODE_OF_CONDUCT.md).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to