OSDN Git Service

Fix race in ART 079-phantom
authorrandy.jeong <randy.jeong@samsung.com>
Thu, 8 Oct 2015 10:32:12 +0000 (19:32 +0900)
committerrandy.jeong <randy.jeong@samsung.com>
Mon, 12 Oct 2015 02:57:00 +0000 (11:57 +0900)
commit10cd86bf39484102a7ed9aebef37fd55f0addba1
treeeca2b5e877553207fe967763b743c1c8f21c2c63
parent296a7dc68449fb49d47bf2cb93f1ed469bc3228b
Fix race in ART 079-phantom

Test failure root cause:
there is data race between shutDown() and run() of bitmap class:
1st thread sets mQuit field to true and yields to 2nd thread w/o
sending interrupt signal to 2nd thread; 2nd thread checks mQuit
field and exits w/o printing "intr" message.
In other execution scenario, 1st thread yield to 2nd thread only
after sending interrupt signal thus causing 2nd thread to execute
catch InterruptedException block and print "intr" message
(expected test case behavior).

Proposed solution: add proper synchronization between
Bitmap.shutDown() and run() by removing mQuit field and exiting
shutDown when "intr" message is printed.

Change-Id: I91946b7fb8bfb6ff2039c40384f8647ba4da98a4
Signed-off-by: randy.jeong <randy.jeong@samsung.com>
test/079-phantom/src/Bitmap.java