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