clients: close unused keymap fd
In the simple examples in which keymap is not handled, the open descriptor has to be properly closed. After each suspend/resume sequence the keymap is send again to every client. On client weston-simple-egl the leak causes a segfault when no more file descriptors can be opened. Close the file descriptor and lazily copy/paste the comment already available in simple-dmabuf-v4l. Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
This commit is contained in:
@@ -296,6 +296,8 @@ static void
|
|||||||
keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
||||||
uint32_t format, int fd, uint32_t size)
|
uint32_t format, int fd, uint32_t size)
|
||||||
{
|
{
|
||||||
|
/* Just so we don’t leak the keymap fd */
|
||||||
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
@@ -640,6 +640,8 @@ static void
|
|||||||
keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
||||||
uint32_t format, int fd, uint32_t size)
|
uint32_t format, int fd, uint32_t size)
|
||||||
{
|
{
|
||||||
|
/* Just so we don’t leak the keymap fd */
|
||||||
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
#include <time.h>
|
#include <time.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
#include <wayland-client.h>
|
#include <wayland-client.h>
|
||||||
|
|
||||||
@@ -463,6 +464,8 @@ static void
|
|||||||
keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
keyboard_handle_keymap(void *data, struct wl_keyboard *keyboard,
|
||||||
uint32_t format, int fd, uint32_t size)
|
uint32_t format, int fd, uint32_t size)
|
||||||
{
|
{
|
||||||
|
/* Just so we don’t leak the keymap fd */
|
||||||
|
close(fd);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|||||||
Reference in New Issue
Block a user