Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

a: race conditions: concurrency model notes #116

Open
as opened this issue Jan 10, 2018 · 0 comments
Open

a: race conditions: concurrency model notes #116

as opened this issue Jan 10, 2018 · 0 comments

Comments

@as
Copy link
Owner

as commented Jan 10, 2018

This program operates under the assumption that its graphical primitives would eventually replaced by a CSP-like UI and that this change occurs before version 1.0.0.

Until then, it is primarily used to avoid distasteful text editors in the treacherous waters of Windows, Linux, and OSX (which doesn't even build at the time of writing). On most of these systems, the invariant of serialized interaction between windows is upheld by mutexes and other unfortunate things. This editor currently assumes, very incorrectly, that no device will mutate the state of two windows in such a way that non-concurrency safe structures in col.go and grid.go will not have race conditions.

This issue acknowledges and tracks the concurrency safety between these data structures, which, in theory, will fail in spectacular cases such as a mouse event set being buffered and causing two 'Del' commands to be processed from the same column, etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant