aboutsummaryrefslogtreecommitdiffstats
path: root/android/user-events-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'android/user-events-core.c')
-rw-r--r--android/user-events-core.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/android/user-events-core.c b/android/user-events-core.c
index a732791..3b97c00 100644
--- a/android/user-events-core.c
+++ b/android/user-events-core.c
@@ -57,6 +57,8 @@ struct CoreUserEvents {
};
};
+/* Implemented in android/console.c */
+extern void destroy_control_ue_client(void);
/*
* Asynchronous I/O callback launched when reading user events from the socket.
@@ -135,6 +137,10 @@ coreue_io_func(void* opaque, int fd, unsigned events)
break;
case ASYNC_ERROR:
loopIo_dontWantRead(&ue->io);
+ if (errno == ECONNRESET) {
+ // UI has exited. We need to destroy user event service.
+ destroy_control_ue_client();
+ }
break;
case ASYNC_NEED_MORE: