CameraITS: Update writer socket when it's closed
Update writer socket when it's closed so it won't write to the
closed socket and cause socket writer thread to terminate.
Bug: 22762311
Change-Id: Iaa17a77f4581ac292d6ca6ca0e0e014af3832d37
diff --git a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
index 5b034fe..15e80b7 100644
--- a/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
+++ b/apps/CtsVerifier/src/com/android/cts/verifier/camera/its/ItsService.java
@@ -497,6 +497,7 @@
mSocketWriteQueue.clear();
mOpenSocket.close();
mOpenSocket = null;
+ mSocketWriteRunnable.setOpenSocket(null);
Logt.i(TAG, "Socket disconnected");
}
} catch (java.io.IOException e) {
@@ -509,9 +510,12 @@
Logt.i(TAG, "Socket server loop exited");
mThreadExitFlag = true;
try {
- if (mOpenSocket != null) {
- mOpenSocket.close();
- mOpenSocket = null;
+ synchronized(mSocketWriteDrainLock) {
+ if (mOpenSocket != null) {
+ mOpenSocket.close();
+ mOpenSocket = null;
+ mSocketWriteRunnable.setOpenSocket(null);
+ }
}
} catch (java.io.IOException e) {
Logt.w(TAG, "Exception closing socket");