Skip to content

Fix atomic property setters held spinlock during release causing deadlocks#385

Open
johnathan-becker wants to merge 2 commits into
gnustep:masterfrom
johnathan-becker:attempt-fix-deadlock
Open

Fix atomic property setters held spinlock during release causing deadlocks#385
johnathan-becker wants to merge 2 commits into
gnustep:masterfrom
johnathan-becker:attempt-fix-deadlock

Conversation

@johnathan-becker
Copy link
Copy Markdown

Atomic property setters were releasing the old value while still holding the spinlock. Since release can invoke dealloc, which may access other atomic properties, this deadlocked on re-entry. Also fixed DoubleLockGuard swapping constructor parameters instead of member variables, which left members in unsorted order and triggered the destructor assert.

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants