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

ASF GitHub Bot commented on DISPATCH-2136:
------------------------------------------

ganeshmurthy commented on a change in pull request #1235:
URL: https://github.com/apache/qpid-dispatch/pull/1235#discussion_r639909306



##########
File path: src/message.c
##########
@@ -45,6 +45,10 @@
 #define LOCK   sys_mutex_lock
 #define UNLOCK sys_mutex_unlock
 
+// Implement bool flags with atomic variables
+#define SET_FLAG(flag)  sys_atomic_set(flag, 1)
+#define  IS_FLAG(flag) (sys_atomic_get(flag) == 1)

Review comment:
       IMO, I think the #define IS_FLAG(flag) can be called #define 
IS_FLAG_SET(flag)




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


> race accessing the aborted message flag
> ---------------------------------------
>
>                 Key: DISPATCH-2136
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-2136
>             Project: Qpid Dispatch
>          Issue Type: Bug
>          Components: Router Node
>    Affects Versions: 1.16.0
>            Reporter: Ken Giusti
>            Assignee: Charles E. Rolke
>            Priority: Major
>              Labels: race-condition, tsan
>             Fix For: 1.17.0
>
>
> Asynchronous read/write of the aborted flag in the message content:
>  
> 45: WARNING: ThreadSanitizer: data race (pid=652672) 
> 45: Write of size 1 at 0x7b64000928b4 by thread T1 (mutexes: write M374): 
> 45: #0 qd_message_set_aborted 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:2911 
> (libqpid-dispatch.so+0x9a4e4) 
> 45: #1 qdr_delivery_set_aborted 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/delivery.c:123 
> (libqpid-dispatch.so+0xd6453) 
> 45: #2 qdr_link_abort_undelivered_CT 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:980 
> (libqpid-dispatch.so+0xc7fa1) 
> 45: #3 qdr_link_inbound_detach_CT 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:2008 
> (libqpid-dispatch.so+0xce691) 
> 45: #4 router_core_thread 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/router_core_thread.c:239
>  (libqpid-dispatch.so+0xfb305) 
> 45: #5 _thread_init 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172 
> (libqpid-dispatch.so+0xad38a) 
> 45: #6 <null> <null> (libtsan.so.0+0x2d33f) 
> 45: 
> 45: Previous read of size 1 at 0x7b64000928b4 by thread T3: 
> 45: #0 qd_message_send 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/message.c:1885 
> (libqpid-dispatch.so+0x95b6d) 
> 45: #1 CORE_link_deliver 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1985 
> (libqpid-dispatch.so+0x127ff6) 
> 45: #2 qdr_link_process_deliveries 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/transfer.c:178 
> (libqpid-dispatch.so+0x10461d) 
> 45: #3 CORE_link_push 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:1920 
> (libqpid-dispatch.so+0x127d57) 
> 45: #4 qdr_connection_process 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_core/connections.c:414 
> (libqpid-dispatch.so+0xc4bfc) 
> 45: #5 AMQP_writable_conn_handler 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/router_node.c:299 
> (libqpid-dispatch.so+0x122d99) 
> 45: #6 writable_handler 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:395 
> (libqpid-dispatch.so+0x7b2f2) 
> 45: #7 qd_container_handle_event 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/container.c:747 
> (libqpid-dispatch.so+0x7cfe5) 
> 45: #8 handle /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1096 
> (libqpid-dispatch.so+0x13058e) 
> 45: #9 thread_run /home/kgiusti/work/dispatch/qpid-dispatch/src/server.c:1121 
> (libqpid-dispatch.so+0x130691) 
> 45: #10 _thread_init 
> /home/kgiusti/work/dispatch/qpid-dispatch/src/posix/threading.c:172 
> (libqpid-dispatch.so+0xad38a) 
> 45: #11 <null> <null> (libtsan.so.0+0x2d33f)



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