From b808920e6cc8a73b092e493dbc35dce36a3d3fe0 Mon Sep 17 00:00:00 2001 From: Mygod Date: Wed, 6 Dec 2017 16:08:44 -0800 Subject: [PATCH] Fix EBADF error caused by race condition --- .../main/java/com/github/shadowsocks/bg/LocalSocketListener.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mobile/src/main/java/com/github/shadowsocks/bg/LocalSocketListener.kt b/mobile/src/main/java/com/github/shadowsocks/bg/LocalSocketListener.kt index 13a60ea9..d64c2d33 100644 --- a/mobile/src/main/java/com/github/shadowsocks/bg/LocalSocketListener.kt +++ b/mobile/src/main/java/com/github/shadowsocks/bg/LocalSocketListener.kt @@ -42,7 +42,7 @@ abstract class LocalSocketListener(protected val tag: String) : Thread() { */ protected abstract fun accept(socket: LocalSocket) override fun run() { - socketFile.delete() + while (!socketFile.delete()) Thread.sleep(100) try { val localSocket = LocalSocket() localSocket.bind(LocalSocketAddress(socketFile.absolutePath, LocalSocketAddress.Namespace.FILESYSTEM))