summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-02-07 16:53:09 -0600
committerDerek Foreman <derekf@osg.samsung.com>2017-02-07 16:53:09 -0600
commitb04fa2ddba67528c1faacbac6d864b6b21f3dd64 (patch)
tree7add619aa884d4ee66d09f1c41d8529eac8d9dbb /src
parentab68723b60e13ef4b248b24d9a362098eb1a5ccc (diff)
elput: Fix async input shutdown during init
By only checking if the thread was cancelled *after* sending feedback to the main thread we ended up claiming all the devices libinput asked for in a way that never allowed them to be released (how the hell can a cancelled thread send feedback?)
Diffstat (limited to 'src')
-rw-r--r--src/lib/elput/elput_input.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/lib/elput/elput_input.c b/src/lib/elput/elput_input.c
index cc29cfc4a6..8e10495028 100644
--- a/src/lib/elput/elput_input.c
+++ b/src/lib/elput/elput_input.c
@@ -12,6 +12,7 @@ _cb_open_restricted(const char *path, int flags, void *data)
12 if (!em->input.thread) 12 if (!em->input.thread)
13 return em->interface->open(em, path, flags); 13 return em->interface->open(em, path, flags);
14 if (!em->interface->open_async) return ret; 14 if (!em->interface->open_async) return ret;
15 if (ecore_thread_check(em->input.thread)) return ret;
15 ao = calloc(1, sizeof(Elput_Async_Open)); 16 ao = calloc(1, sizeof(Elput_Async_Open));
16 if (!ao) return ret; 17 if (!ao) return ret;
17 if (pipe2(p, O_CLOEXEC) < 0) 18 if (pipe2(p, O_CLOEXEC) < 0)