Skip to content
This repository was archived by the owner on Jul 8, 2022. It is now read-only.

Conversation

@mliszcz
Copy link
Collaborator

@mliszcz mliszcz commented Jan 23, 2020

Backport of #641

Fixes data race between:
* polling thread (EventSupplier::detect_and_push_xxx_event)
* and user thread pushing events (Attribute::fire_xxx_event)

This is a backport of 5251bee from tango-9-lts.
Remove detect_mutex and protect detect_change method with
event_mutex to synchronize access to the old attribute value.

Fixes data race between:
* polling thread (EventSupplier::detect_and_push_xxx_event)
* and user thread pushing events (EventSupplier::detect_change)

This is a backport of 8d4a1bb from tango-9-lts.
Fixes data race between:
* omni worker thread (DServer::event_subscription)
* and user thread pushing events (Attribute::fire_xxx_event)

This is a backport of ee262d4 from tango-9-lts.
@mliszcz
Copy link
Collaborator Author

mliszcz commented Jan 24, 2020

Hi @t-b and @bourtemb. I've just merged the corresponding PR to the mainline branch. This one can be reviewed now. One Appveyor job has already passed. It will take few hours to complete all of them, but in my opinion it is safe to merge it as soon as it is reviewed so that we do not block 9.3.4-rc4 release.

Copy link
Member

@bourtemb bourtemb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @mliszcz for this PR.
Sorry for the delay in the review. I wanted to test it on our system.
We are testing this PR applied on 9.3-backports since Friday and we experienced no crash.

@t-b t-b merged commit 87e5bee into tango-controls:9.3-backports Jan 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants