diff options
Diffstat (limited to 'android/user-events-core.c')
-rw-r--r-- | android/user-events-core.c | 6 |
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: |