diff --git a/src/backends/native/meta-device-pool.c b/src/backends/native/meta-device-pool.c index 69e3e8d2f..8aa2c194f 100644 --- a/src/backends/native/meta-device-pool.c +++ b/src/backends/native/meta-device-pool.c @@ -247,7 +247,12 @@ meta_device_pool_open (MetaDevicePool *pool, } else { - fd = open (path, O_RDWR | O_CLOEXEC, 0); + do + { + fd = open (path, O_RDWR | O_CLOEXEC); + } + while (fd == -1 && errno == EINTR); + if (fd == -1) { g_set_error (error, G_IO_ERROR, g_io_error_from_errno (errno),