chiark / gitweb /
libudev: monitor - cache result of monitor send buffer
[elogind.git] / udev / lib / libudev-queue.c
index 60f7209d7678dfb8c9a26cda22b6ac3bcd91e298..ea75f22044eea20918480cd78274d8df198605d8 100644 (file)
@@ -45,10 +45,9 @@ struct udev_queue *udev_queue_new(struct udev *udev)
        if (udev == NULL)
                return NULL;
 
-       udev_queue = malloc(sizeof(struct udev_queue));
+       udev_queue = calloc(1, sizeof(struct udev_queue));
        if (udev_queue == NULL)
                return NULL;
-       memset(udev_queue, 0x00, sizeof(struct udev_queue));
        udev_queue->refcount = 1;
        udev_queue->udev = udev;
        udev_list_init(&udev_queue->queue_list);
@@ -71,8 +70,8 @@ void udev_queue_unref(struct udev_queue *udev_queue)
        udev_queue->refcount--;
        if (udev_queue->refcount > 0)
                return;
-       udev_list_cleanup(udev_queue->udev, &udev_queue->queue_list);
-       udev_list_cleanup(udev_queue->udev, &udev_queue->failed_list);
+       udev_list_cleanup_entries(udev_queue->udev, &udev_queue->queue_list);
+       udev_list_cleanup_entries(udev_queue->udev, &udev_queue->failed_list);
        free(udev_queue);
 }
 
@@ -192,7 +191,7 @@ struct udev_list_entry *udev_queue_get_queued_list_entry(struct udev_queue *udev
 
        if (udev_queue == NULL)
                return NULL;
-       udev_list_cleanup(udev_queue->udev, &udev_queue->queue_list);
+       udev_list_cleanup_entries(udev_queue->udev, &udev_queue->queue_list);
        util_strlcpy(path, udev_get_dev_path(udev_queue->udev), sizeof(path));
        util_strlcat(path, "/.udev/queue", sizeof(path));
        dir = opendir(path);
@@ -230,7 +229,7 @@ struct udev_list_entry *udev_queue_get_failed_list_entry(struct udev_queue *udev
 
        if (udev_queue == NULL)
                return NULL;
-       udev_list_cleanup(udev_queue->udev, &udev_queue->failed_list);
+       udev_list_cleanup_entries(udev_queue->udev, &udev_queue->failed_list);
        util_strlcpy(path, udev_get_dev_path(udev_queue->udev), sizeof(path));
        util_strlcat(path, "/.udev/failed", sizeof(path));
        dir = opendir(path);