Projects
Mega:23.03
systemd
_service:tar_scm:backport-udev-node-simplify-th...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:backport-udev-node-simplify-the-example-of-race.patch of Package systemd
From 76e4e1df71fc26acd2aa2ef2d599da3cdd95a014 Mon Sep 17 00:00:00 2001 From: Yu Watanabe <watanabe.yu+github@gmail.com> Date: Sun, 12 Sep 2021 16:05:51 +0900 Subject: [PATCH] udev-node: simplify the example of race (cherry picked from commit 3df566a66723490914ef3bae0ca8046044b70dce) Conflict:NA Reference:https://github.com/systemd/systemd-stable/commit/76e4e1df71fc26acd2aa2ef2d599da3cdd95a014 --- src/udev/udev-node.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/udev/udev-node.c b/src/udev/udev-node.c index 52816c72fd..4e4a45bbe9 100644 --- a/src/udev/udev-node.c +++ b/src/udev/udev-node.c @@ -272,14 +272,14 @@ static int update_timestamp(sd_device *dev, const char *path, struct stat *prev) /* Even if a symlink in the stack directory is created/removed, the mtime of the directory may * not be changed. Why? Let's consider the following situation. For simplicity, let's assume - * there exist three udev workers (A, B, and C) and all of them calls link_update() for the - * same devlink simultaneously. + * there exist two udev workers (A and B) and all of them calls link_update() for the same + * devlink simultaneously. * - * 1. B creates/removes a symlink in the stack directory. + * 1. A creates/removes a symlink in the stack directory. * 2. A calls the first stat() in the loop of link_update(). * 3. A calls link_find_prioritized(). - * 4. C creates/removes another symlink in the stack directory, so the result of the step 3 is outdated. - * 5. B and C finish link_update(). + * 4. B creates/removes another symlink in the stack directory, so the result of the step 3 is outdated. + * 5. B finishes link_update(). * 6. A creates/removes devlink according to the outdated result in the step 3. * 7. A calls the second stat() in the loop of link_update(). * -- 2.33.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2