Ensure that interruptor callback registered through API is called outside of Executio...
authorvegorov@chromium.org <vegorov@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 20 May 2014 08:24:51 +0000 (08:24 +0000)
committervegorov@chromium.org <vegorov@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 20 May 2014 08:24:51 +0000 (08:24 +0000)
commit38f2d25a84c044ba3565cc54a67a6c2b6256d2eb
tree8c7fac5f286c3db40206ad53b66c3d8e5c2451cc
parent424877c773f99f2f6e28267df51fd6d77a056832
Ensure that interruptor callback registered through API is called outside of ExecutionAccess lock.

Such a coarse locking can cause a dead-lock when another thread is attempting to clear an interrupt while we are waiting in the interrupt callback.

Add test that verifies this API invariant.

BUG=chromium:374978
LOG=N
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/291123002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/execution.cc
src/isolate.cc
test/cctest/test-api.cc