chiark / gitweb /
rules: fix md "change"/"remove" handling
[elogind.git] / udev / udevd.c
index 13a10240d775f6f38a9d61682f2fcf35ec3704f7..d08cf30f29b806340f3e5099193fc831a607314d 100644 (file)
@@ -688,16 +688,19 @@ int main(int argc, char *argv[])
                case 'N':
                        if (strcmp (optarg, "early") == 0) {
                                resolve_names = 1;
+                       } else if (strcmp (optarg, "late") == 0) {
+                               resolve_names = 0;
                        } else if (strcmp (optarg, "never") == 0) {
                                resolve_names = -1;
                        } else {
-                               fprintf(stderr, "resolve-names must be early or never\n");
-                               err(udev, "resolve-names must be early or never\n");
+                               fprintf(stderr, "resolve-names must be early, late or never\n");
+                               err(udev, "resolve-names must be early, late or never\n");
                                goto exit;
                        }
                        break;
                case 'h':
-                       printf("Usage: udevd [--help] [--daemon] [--debug-trace] [--debug] [--resolve-names=early|never] [--version]\n");
+                       printf("Usage: udevd [--help] [--daemon] [--debug-trace] [--debug] "
+                              "[--resolve-names=early|late|never] [--version]\n");
                        goto exit;
                case 'V':
                        printf("%s\n", VERSION);
@@ -828,6 +831,7 @@ int main(int argc, char *argv[])
        memset(&act, 0x00, sizeof(struct sigaction));
        act.sa_handler = (void (*)(int)) sig_handler;
        sigemptyset(&act.sa_mask);
+       act.sa_flags = SA_RESTART;
        sigaction(SIGINT, &act, NULL);
        sigaction(SIGTERM, &act, NULL);
        sigaction(SIGCHLD, &act, NULL);