Fix race condition in NsdManagerTest

NsdManagerTest relies on the lastMessage variable to assert the
connection of a client to the service. The asserts in test are done on a
different thread, although the variable was not qualified volatile,
which creates the chance to read a stale value. This patch fixes this
race by marking the variable volatile.

Bug: 32561414
Bug: 62044295
Test: NsdManagerTest works
Change-Id: I0bc2cd8059c6ff8b78a2dda0ba8d6bc7e13ef951
This commit is contained in:
Hugo Benichi
2017-05-31 15:31:59 +09:00
parent 4d7887a2fa
commit 986eaa7b76

View File

@@ -333,7 +333,7 @@ public class NsdManagerTest {
public static class MockServiceHandler extends Handler {
public Context mContext;
public AsyncChannel chan;
public Message lastMessage;
public volatile Message lastMessage;
MockServiceHandler(Looper looper, Context context) {
super(looper);