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

Already on GitHub? Sign in to your account

Fix newly-introduced Thread#kill deadlock #1935

Merged
merged 1 commit into from Sep 29, 2012

Conversation

Projects
None yet
2 participants
Member

ryoqun commented Sep 29, 2012

The following commit introduced another deadlock. Threads MUST be
Rubinius.synchronize-d, but they weren't in Thread#kill.

ba7667b Correctly implement Thread#kill

Previously, Thread#kill internally used Thread#raise, which had gotten
completely deadlock-free. And there is no problem.

But, the commit made Thread#kill use a primitive for its function. That must be
inside Rubinius.synchronize as was before.

@ryoqun ryoqun Fix newly-introduced Thread#kill deadlock
The following commit introduced another deadlock. Threads MUST be
Rubinius.synchronize-d, but they weren't in Thread#kill.

  ba7667b Correctly implement Thread#kill

Previously, Thread#kill internally used Thread#raise, which had gotten
completely deadlock-free. And there is no problem.

But, the commit made Thread#kill use a primitive for its function. That must be
inside Rubinius.synchronize as was before.
3b4ed0f

@dbussink dbussink added a commit that referenced this pull request Sep 29, 2012

@dbussink dbussink Merge pull request #1935 from ryoqun/thread-kill-lock
Fix newly-introduced Thread#kill deadlock
b7619b9

@dbussink dbussink merged commit b7619b9 into rubinius:master Sep 29, 2012

1 check failed

default The Travis build failed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment