HADOOP-14214. DomainSocketWatcher::add()/delete() should not self interrupt while looping await(). Contributed by Mingliang Liu
(cherry picked from commit d35e79abc2fee7153a6168e6088f100de59d8c81)
This commit is contained in:
parent
5e794c74e5
commit
47d3c29e30
@ -321,11 +321,7 @@ public void add(DomainSocket sock, Handler handler) {
|
||||
toAdd.add(entry);
|
||||
kick();
|
||||
while (true) {
|
||||
try {
|
||||
processedCond.await();
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
processedCond.awaitUninterruptibly();
|
||||
if (!toAdd.contains(entry)) {
|
||||
break;
|
||||
}
|
||||
@ -347,11 +343,7 @@ public void remove(DomainSocket sock) {
|
||||
toRemove.put(sock.fd, sock);
|
||||
kick();
|
||||
while (true) {
|
||||
try {
|
||||
processedCond.await();
|
||||
} catch (InterruptedException e) {
|
||||
Thread.currentThread().interrupt();
|
||||
}
|
||||
processedCond.awaitUninterruptibly();
|
||||
if (!toRemove.containsKey(sock.fd)) {
|
||||
break;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user