[PATCH] udevd: queue-export - remove retry loop

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



These retry loops are required where create_path() could race with
delete_path().  But only the main udevd process writes to the queue,
so no races will happen here.

Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx>
---
libudev/libudev-queue-private.c |   15 ++++-----------
1 files changed, 4 insertions(+), 11 deletions(-)

diff --git a/libudev/libudev-queue-private.c b/libudev/libudev-queue-private.c
index 37de67a..6109837 100644
--- a/libudev/libudev-queue-private.c
+++ b/libudev/libudev-queue-private.c
@@ -396,7 +396,6 @@ static void update_failed(struct udev_queue_export *udev_queue_export,
{
	struct udev *udev = udev_device_get_udev(udev_device);
	char filename[UTIL_PATH_SIZE];
-	int err;

	if (state != DEVICE_FAILED && udev_queue_export->failed_count == 0)
		return;
@@ -409,16 +408,10 @@ static void update_failed(struct udev_queue_export *udev_queue_export,
	case DEVICE_FAILED:
		/* record event in the failed directory */
		udev_queue_export->failed_count++;
-		do {
-			err = util_create_path(udev, filename);
-			if (err != 0 && err != -ENOENT)
-				break;
-			udev_selinux_setfscreatecon(udev, filename, S_IFLNK);
-			err = symlink(udev_device_get_devpath(udev_device), filename);
-			if (err != 0)
-				err = -errno;
-			udev_selinux_resetfscreatecon(udev);
-		} while (err == -ENOENT);
+		util_create_path(udev, filename);
+		udev_selinux_setfscreatecon(udev, filename, S_IFLNK);
+		symlink(udev_device_get_devpath(udev_device), filename);
+		udev_selinux_resetfscreatecon(udev);
		break;

	case DEVICE_QUEUED:
--
1.5.6.5



--
To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux