1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-28 11:55:44 +03:00

udevd: allow starting of udevd with stopped exec-queue

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
This commit is contained in:
Kay Sievers 2005-06-08 11:57:53 +02:00
parent 9607c4222c
commit 561d4c5a3a
3 changed files with 18 additions and 8 deletions

0
test/simple-build-check.sh Normal file → Executable file
View File

16
udevd.c
View File

@ -766,6 +766,8 @@ int main(int argc, char *argv[], char *envp[])
fd_set readfds;
const char *value;
int uevent_nl_active = 0;
int daemonize = 0;
int i;
logging_init("udevd");
udev_init_config();
@ -776,8 +778,18 @@ int main(int argc, char *argv[], char *envp[])
goto exit;
}
/* daemonize on request */
if (argc == 2 && strcmp(argv[1], "-d") == 0) {
for (i = 1 ; i < argc; i++) {
char *arg = argv[i];
if (strcmp(arg, "--daemon") == 0 || strcmp(arg, "-d") == 0) {
info("will daemonize");
daemonize = 1;
}
if (strcmp(arg, "--stop-exec-queue") == 0) {
info("will not execute event until START_EXEC_QUEUE is received");
stop_exec_q = 1;
}
}
if (daemonize) {
pid_t pid;
pid = fork();

View File

@ -129,18 +129,17 @@ static int add_device(const char *path, const char *subsystem)
}
udev_rules_get_name(&udev, class_dev);
if (udev.ignore_device) {
info("device event will be ignored");
dbg("device event will be ignored");
goto exit;
}
if (udev.name[0] == '\0') {
info("device node creation supressed");
dbg("device node creation supressed");
goto run;
}
udev_add_device(&udev, class_dev);
if (udev.devname[0] != '\0')
setenv("DEVNAME", udev.devname, 1);
run:
if (udev_run && !list_empty(&udev.run_list)) {
struct name_entry *name_loop;
@ -149,7 +148,6 @@ run:
list_for_each_entry(name_loop, &udev.run_list, node)
execute_command(name_loop->name, udev.subsystem);
}
exit:
sysfs_close_class_device(class_dev);
udev_cleanup_device(&udev);