+static void cleanup_queue_dir(struct udev *udev)
+{
+ char dirname[UTIL_PATH_SIZE];
+ char filename[UTIL_PATH_SIZE];
+ DIR *dir;
+
+ util_strlcpy(filename, udev_get_dev_path(udev), sizeof(filename));
+ util_strlcat(filename, "/.udev/uevent_seqnum", sizeof(filename));
+ unlink(filename);
+
+ util_strlcpy(dirname, udev_get_dev_path(udev), sizeof(dirname));
+ util_strlcat(dirname, "/.udev/queue", sizeof(dirname));
+ dir = opendir(dirname);
+ if (dir != NULL) {
+ while (1) {
+ struct dirent *dent;
+
+ dent = readdir(dir);
+ if (dent == NULL || dent->d_name[0] == '\0')
+ break;
+ if (dent->d_name[0] == '.')
+ continue;
+ util_strlcpy(filename, dirname, sizeof(filename));
+ util_strlcat(filename, "/", sizeof(filename));
+ util_strlcat(filename, dent->d_name, sizeof(filename));
+ unlink(filename);
+ }
+ closedir(dir);
+ rmdir(dirname);
+ }
+}
+