[ 
https://issues.apache.org/jira/browse/PROTON-2377?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17329212#comment-17329212
 ] 

ASF GitHub Bot commented on PROTON-2377:
----------------------------------------

gemmellr commented on a change in pull request #310:
URL: https://github.com/apache/qpid-proton/pull/310#discussion_r618516574



##########
File path: cpp/src/sender.cpp
##########
@@ -60,14 +61,20 @@ class target sender::target() const {
 }
 
 namespace {
-// TODO: revisit if thread safety required
-uint64_t tag_counter = 0;
+std::atomic<uint64_t> tag_counter(0);

Review comment:
       I would probably lean toward a sender-specific value as well, though 
both ways have their own advantages.
   
   @astitcher ? @ssorj ?




-- 
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.

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


> [cpp] tag_counter is not used in a thread safe way in sender.cpp
> ----------------------------------------------------------------
>
>                 Key: PROTON-2377
>                 URL: https://issues.apache.org/jira/browse/PROTON-2377
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: cpp-binding
>            Reporter: Rakhi Kumari
>            Priority: Major
>
> uint64_t tag_counter = 0 is a global variable, so it might end up giving 
> duplicate ids to different threads.
> We need to ensure that a single sender will not send a message with a 
> duplicate tag. Thread safety is required to guarantee unique tags. 
> Link to the discussion regarding this issue :
> https://github.com/apache/qpid-proton/pull/309#discussion_r615219442



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to