summaryrefslogtreecommitdiff
path: root/libevdev
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-05-31 15:24:39 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-05-31 15:24:39 +1000
commit0867f2f10a99c9e2ab643699406a8eb32384f044 (patch)
treec09709857a32e1b3bb682c6488eca013cf799ef0 /libevdev
parent8bdd0639a6a80d4a1e43c016535861dce5972b20 (diff)
downloadlibevdev-0867f2f10a99c9e2ab643699406a8eb32384f044.tar.gz
Free the event queue on cleanup.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'libevdev')
-rw-r--r--libevdev/libevdev-int.h8
-rw-r--r--libevdev/libevdev.c1
2 files changed, 9 insertions, 0 deletions
diff --git a/libevdev/libevdev-int.h b/libevdev/libevdev-int.h
index 7b28884..492608a 100644
--- a/libevdev/libevdev-int.h
+++ b/libevdev/libevdev-int.h
@@ -168,6 +168,14 @@ queue_alloc(struct libevdev *dev, int size)
return 0;
}
+static inline void
+queue_free(struct libevdev *dev)
+{
+ free(dev->queue);
+ dev->queue_size = 0;
+ dev->queue_next = 0;
+}
+
static inline int
queue_num_elements(struct libevdev *dev)
{
diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c
index 7a10792..81bee60 100644
--- a/libevdev/libevdev.c
+++ b/libevdev/libevdev.c
@@ -165,6 +165,7 @@ libevdev_new(int fd)
void
libevdev_free(struct libevdev *dev)
{
+ queue_free(dev);
free(dev);
}