shm: provide actual error on mmap failed

When an mmap() fails, a WL_SHM_ERROR_INVALID_FD is raised and the client
is killed.

However, there is no indication of the actual system error that caused
mmap() to fail, which makes such error harder to investigate.

Provide the actual error message that caused mmap() to fail.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
This commit is contained in:
Olivier Fourdan 2018-02-05 15:39:43 +01:00 committed by Daniel Stone
parent bf7cc68053
commit 0fa3474be3

View file

@ -281,7 +281,7 @@ shm_create_pool(struct wl_client *client, struct wl_resource *resource,
if (pool->data == MAP_FAILED) {
wl_resource_post_error(resource,
WL_SHM_ERROR_INVALID_FD,
"failed mmap fd %d", fd);
"failed mmap fd %d: %m", fd);
goto err_free;
}
close(fd);