chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
udevd: clarify worker exit status
[elogind.git]
/
udev
/
udev-watch.c
diff --git
a/udev/udev-watch.c
b/udev/udev-watch.c
index 9e1b8d8553e3650f39519df602153072281a04ce..0ec8bfd62793cd9796d362b27d76acc08d9f500d 100644
(file)
--- a/
udev/udev-watch.c
+++ b/
udev/udev-watch.c
@@
-54,8
+54,8
@@
void udev_watch_restore(struct udev *udev)
if (inotify_fd < 0)
return;
if (inotify_fd < 0)
return;
- util_strscpyl(oldname, sizeof(oldname), udev_get_
dev_path(udev), "/.udev
/watch.old", NULL);
- util_strscpyl(filename, sizeof(filename), udev_get_
dev_path(udev), "/.udev
/watch", NULL);
+ util_strscpyl(oldname, sizeof(oldname), udev_get_
run_path(udev), "
/watch.old", NULL);
+ util_strscpyl(filename, sizeof(filename), udev_get_
run_path(udev), "
/watch", NULL);
if (rename(filename, oldname) == 0) {
DIR *dir;
struct dirent *ent;
if (rename(filename, oldname) == 0) {
DIR *dir;
struct dirent *ent;
@@
-72,8
+72,6
@@
void udev_watch_restore(struct udev *udev)
size_t l;
ssize_t len;
struct udev_device *dev;
size_t l;
ssize_t len;
struct udev_device *dev;
- int maj, min;
- char type;
if (ent->d_name[0] == '.')
continue;
if (ent->d_name[0] == '.')
continue;
@@
-85,9
+83,7
@@
void udev_watch_restore(struct udev *udev)
goto unlink;
s[len] = '\0';
goto unlink;
s[len] = '\0';
- if (sscanf(s, "%c%i:%i", &type, &maj, &min) != 3)
- goto unlink;
- dev = udev_device_new_from_devnum(udev, type, makedev(maj, min));
+ dev = udev_device_new_from_id_filename(udev, s);
if (dev == NULL)
goto unlink;
if (dev == NULL)
goto unlink;
@@
-122,7
+118,7
@@
void udev_watch_begin(struct udev *udev, struct udev_device *dev)
return;
}
return;
}
- snprintf(filename, sizeof(filename), "%s/
.udev/watch/%d", udev_get_dev
_path(udev), wd);
+ snprintf(filename, sizeof(filename), "%s/
watch/%d", udev_get_run
_path(udev), wd);
util_create_path(udev, filename);
unlink(filename);
symlink(udev_device_get_id_filename(dev), filename);
util_create_path(udev, filename);
unlink(filename);
symlink(udev_device_get_id_filename(dev), filename);
@@
-145,7
+141,7
@@
void udev_watch_end(struct udev *udev, struct udev_device *dev)
info(udev, "removing watch on '%s'\n", udev_device_get_devnode(dev));
inotify_rm_watch(inotify_fd, wd);
info(udev, "removing watch on '%s'\n", udev_device_get_devnode(dev));
inotify_rm_watch(inotify_fd, wd);
- snprintf(filename, sizeof(filename), "%s/
.udev/watch/%d", udev_get_dev
_path(udev), wd);
+ snprintf(filename, sizeof(filename), "%s/
watch/%d", udev_get_run
_path(udev), wd);
unlink(filename);
udev_device_set_watch_handle(dev, -1);
unlink(filename);
udev_device_set_watch_handle(dev, -1);
@@
-158,14
+154,11
@@
struct udev_device *udev_watch_lookup(struct udev *udev, int wd)
char *s;
size_t l;
ssize_t len;
char *s;
size_t l;
ssize_t len;
- int maj, min;
- char type;
- dev_t devnum;
if (inotify_fd < 0 || wd < 0)
return NULL;
if (inotify_fd < 0 || wd < 0)
return NULL;
- snprintf(filename, sizeof(filename), "%s/
.udev/watch/%d", udev_get_dev
_path(udev), wd);
+ snprintf(filename, sizeof(filename), "%s/
watch/%d", udev_get_run
_path(udev), wd);
s = majmin;
l = util_strpcpy(&s, sizeof(majmin), udev_get_sys_path(udev));
len = readlink(filename, s, l);
s = majmin;
l = util_strpcpy(&s, sizeof(majmin), udev_get_sys_path(udev));
len = readlink(filename, s, l);
@@
-173,8
+166,5
@@
struct udev_device *udev_watch_lookup(struct udev *udev, int wd)
return NULL;
s[len] = '\0';
return NULL;
s[len] = '\0';
- if (sscanf(s, "%c%i:%i", &type, &maj, &min) != 3)
- return NULL;
- devnum = makedev(maj, min);
- return udev_device_new_from_devnum(udev, type, devnum);
+ return udev_device_new_from_id_filename(udev, s);
}
}