Commit 9aa0a4e3 authored by Max Lv's avatar Max Lv

Fix a potential issue in localSocket

parent aa533184
......@@ -41,7 +41,9 @@ abstract class LocalSocketListener(protected val tag: String) : Thread() {
* Inherited class do not need to close input/output streams as they will be closed automatically.
*/
protected abstract fun accept(socket: LocalSocket)
override final fun run() = LocalSocket().use { localSocket ->
override final fun run() {
socketFile.delete() // It's a must-have to close and reuse previous local socket.
LocalSocket().use { localSocket ->
val serverSocket = try {
localSocket.bind(LocalSocketAddress(socketFile.absolutePath, LocalSocketAddress.Namespace.FILESYSTEM))
LocalServerSocket(localSocket.fileDescriptor)
......@@ -59,6 +61,7 @@ abstract class LocalSocketListener(protected val tag: String) : Thread() {
}?.use(this::accept)
}
}
}
fun stopThread() {
running = false
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment