Neil Roberts
737806bcee
wayland: Remove the Wayland socket FD if there are any errors
...
Previously if the Wayland socket gets closed then Cogl would ignore
the error when dispatching events which meant the socket would be
constantly ready for reading, the main loop would never go idle and it
would sit at 100% CPU. When Wayland encounters an error it will
actually close the socket which means if something else opened another
file then we might even end up polling on a completely unrelated FD.
This patch makes it remove the FD from the main loop as soon as it
hits an error so that it will at least avoid breaking the main loop.
However I think most applications would probably want to abort in this
case so we might also want to add a way to inform the application of
this or even just abort directly.
The cogl_poll_* functions have been changed so that they can cope if
the pending and dispatch callbacks remove their own FD while they are
invoked.
Reviewed-by: Robert Bragg <robert@linux.intel.com>
(cherry picked from commit 85857b10687a5a246a0a4ef42711e560c7a6f45d)
2013-07-11 14:22:12 +01:00
..
2013-07-01 13:36:56 +01:00
2013-05-29 19:30:44 +01:00
2013-02-20 14:55:44 +00:00
2013-07-11 14:22:12 +01:00
2013-04-24 22:23:50 +01:00
2013-01-22 17:47:39 +00:00
2013-04-24 22:23:50 +01:00
2011-09-09 15:06:31 +01:00
2013-01-22 17:48:18 +00:00
2013-01-22 17:48:05 +00:00
2011-05-06 12:12:08 +01:00
2011-09-09 15:06:31 +01:00
2013-01-22 17:48:17 +00:00
2013-06-13 13:45:46 +01:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:07 +00:00
2011-05-16 14:31:31 +01:00
2013-01-22 17:48:07 +00:00
2013-01-22 17:48:07 +00:00
2013-06-07 16:53:29 +01:00
2013-06-07 16:53:29 +01:00
2013-06-07 16:53:29 +01:00
2013-06-14 11:28:41 +01:00
2013-01-22 18:00:11 +00:00
2013-01-22 18:00:11 +00:00
2013-04-04 13:37:51 +01:00
2013-01-22 17:48:08 +00:00
2013-03-06 16:44:52 +00:00
2013-01-22 17:48:16 +00:00
2013-06-06 21:45:11 +01:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:47:39 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:08 +00:00
2013-01-22 17:48:17 +00:00
2012-08-06 14:27:45 +01:00
2013-01-22 17:48:07 +00:00
2013-03-06 16:46:03 +00:00
2013-01-22 17:48:16 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:19 +00:00
2011-12-06 18:51:57 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:05 +00:00
2013-06-13 13:45:47 +01:00
2013-06-13 13:45:47 +01:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:01 +00:00
2013-04-24 22:23:50 +01:00
2012-08-06 14:27:39 +01:00
2013-07-09 22:52:49 +01:00
2013-07-09 22:52:49 +01:00
2012-08-06 18:51:33 +01:00
2013-01-22 17:47:24 +00:00
2013-06-13 13:45:47 +01:00
2013-07-01 13:36:56 +01:00
2013-06-07 16:53:29 +01:00
2012-08-06 14:27:40 +01:00
2013-05-29 19:30:44 +01:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:05 +00:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2010-03-01 12:56:10 +00:00
2011-05-16 18:45:51 +01:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:15 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:13 +00:00
2013-01-22 17:48:18 +00:00
2012-08-06 18:51:32 +01:00
2013-01-22 17:48:05 +00:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:16 +00:00
2013-01-22 17:48:08 +00:00
2013-06-27 14:29:51 +01:00
2013-05-29 11:58:48 +01:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:13 +00:00
2013-01-22 17:48:01 +00:00
2013-01-22 17:48:17 +00:00
2013-06-13 13:45:47 +01:00
2013-06-13 13:45:47 +01:00
2013-05-28 21:36:03 +01:00
2013-07-04 11:40:40 +01:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:05 +00:00
2013-01-30 20:09:49 +00:00
2013-01-30 20:09:49 +00:00
2013-01-30 20:09:49 +00:00
2013-05-30 13:42:11 +01:00
2013-05-30 13:42:56 +01:00
2013-01-22 17:48:18 +00:00
2012-08-06 14:27:45 +01:00
2012-08-06 14:27:45 +01:00
2013-06-13 13:45:47 +01:00
2013-06-13 13:45:47 +01:00
2013-01-08 14:56:25 +01:00
2013-01-22 17:48:13 +00:00
2013-04-30 16:39:31 +01:00
2013-04-30 16:39:31 +01:00
2013-06-07 16:53:29 +01:00
2013-01-22 17:48:07 +00:00
2013-01-22 17:48:17 +00:00
2013-04-30 16:39:31 +01:00
2013-04-30 16:39:31 +01:00
2012-08-06 14:27:42 +01:00
2013-01-22 17:48:04 +00:00
2012-08-06 14:27:39 +01:00
2013-05-29 19:30:44 +01:00
2011-05-16 14:31:31 +01:00
2013-01-22 17:47:59 +00:00
2013-01-22 17:48:05 +00:00
2011-05-16 14:31:31 +01:00
2013-01-22 17:48:07 +00:00
2013-01-22 17:48:13 +00:00
2013-06-13 13:45:47 +01:00
2013-06-13 13:45:47 +01:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:05 +00:00
2013-06-13 13:45:47 +01:00
2013-06-13 13:45:47 +01:00
2013-07-04 11:40:39 +01:00
2013-01-22 17:48:05 +00:00
2012-08-06 14:27:40 +01:00
2013-01-22 17:47:39 +00:00
2013-04-24 22:23:50 +01:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:19 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:15 +00:00
2013-01-18 17:28:25 +00:00
2013-05-16 15:28:00 +01:00
2013-01-22 17:48:05 +00:00
2013-06-13 13:45:47 +01:00
2013-01-22 20:11:25 +00:00
2013-01-22 17:48:16 +00:00
2013-06-13 13:45:47 +01:00
2013-06-13 13:45:47 +01:00
2012-08-06 14:27:39 +01:00
2012-02-20 23:16:37 +00:00
2013-02-22 16:36:38 +01:00
2013-04-24 22:23:50 +01:00
2013-06-13 13:45:47 +01:00
2011-11-01 12:03:02 +00:00
2012-08-06 14:27:42 +01:00
2013-01-22 17:48:05 +00:00
2013-06-13 13:45:47 +01:00
2013-05-30 13:42:56 +01:00
2013-01-30 19:56:45 +00:00
2013-01-30 19:56:45 +00:00
2013-01-30 19:56:45 +00:00
2011-05-16 13:28:17 +01:00
2013-01-22 17:48:05 +00:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:16 +00:00
2013-06-21 14:18:37 +01:00
2013-01-22 17:48:16 +00:00
2013-06-06 21:49:14 +01:00
2013-04-04 13:38:43 +01:00
2013-04-04 13:38:41 +01:00
2013-04-04 13:38:43 +01:00
2012-08-06 14:27:39 +01:00
2013-06-06 21:27:09 +01:00
2013-01-22 17:48:16 +00:00
2013-06-13 13:45:47 +01:00
2013-06-21 14:18:37 +01:00
2013-06-13 13:45:46 +01:00
2013-06-13 13:45:46 +01:00
2013-06-21 14:18:37 +01:00
2013-06-21 14:18:37 +01:00
2013-06-21 14:18:37 +01:00
2013-06-21 14:18:40 +01:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:07 +00:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:05 +00:00
2012-08-06 14:27:39 +01:00
2013-07-01 13:47:48 +01:00
2013-07-11 14:22:12 +01:00
2013-04-30 16:39:31 +01:00
2013-01-22 17:48:19 +00:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:05 +00:00
2012-09-03 15:51:44 +01:00
2013-01-22 17:48:16 +00:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:05 +00:00
2013-06-07 16:53:29 +01:00
2013-05-29 19:30:44 +01:00
2010-09-14 12:43:17 +01:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:17 +00:00
2011-05-16 14:11:47 +01:00
2013-01-22 17:48:13 +00:00
2013-01-22 17:48:14 +00:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:05 +00:00
2013-07-09 15:46:46 +01:00
2013-07-09 15:46:46 +01:00
2013-01-30 19:57:22 +00:00
2012-08-06 14:27:41 +01:00
2013-01-22 17:48:17 +00:00
2013-06-13 13:45:47 +01:00
2013-01-22 17:48:16 +00:00
2013-01-22 17:48:07 +00:00
2013-01-22 17:48:17 +00:00
2013-04-24 22:23:50 +01:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2013-06-07 16:53:29 +01:00
2013-01-22 17:48:17 +00:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:13 +00:00
2012-08-06 14:27:39 +01:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:05 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:19 +00:00
2013-01-22 17:48:17 +00:00
2013-07-01 13:48:22 +01:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:09 +00:00
2013-01-22 17:48:17 +00:00
2013-01-22 17:48:17 +00:00
2013-01-25 18:21:09 +00:00
2013-01-22 17:48:15 +00:00
2013-02-13 18:47:16 +00:00
2013-04-24 22:23:50 +01:00
2013-07-04 11:40:39 +01:00
2012-08-14 18:55:42 +01:00
2013-01-22 17:48:11 +00:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:16 +00:00
2013-04-24 22:23:50 +01:00
2012-08-06 14:27:39 +01:00
2013-01-22 17:48:17 +00:00
2013-04-24 22:23:50 +01:00
2013-01-22 17:48:05 +00:00
2013-07-09 15:46:46 +01:00
2013-07-01 13:48:22 +01:00
2013-05-30 13:41:44 +01:00
2013-05-30 13:41:44 +01:00
2013-01-30 20:09:49 +00:00
2012-02-20 23:12:45 +00:00
2013-04-30 16:39:31 +01:00
2013-05-28 21:36:03 +01:00
2013-01-22 17:48:13 +00:00
2013-01-22 17:48:17 +00:00
2013-04-24 22:23:50 +01:00
2013-06-06 21:27:09 +01:00
2013-05-28 21:36:03 +01:00
2012-08-06 14:27:42 +01:00
2013-05-28 21:36:03 +01:00
2013-06-13 13:45:47 +01:00
2013-01-18 17:28:25 +00:00