X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev%2Fudevd.c;h=d08cf30f29b806340f3e5099193fc831a607314d;hp=13a10240d775f6f38a9d61682f2fcf35ec3704f7;hb=10b2d011e70ddf9361c61f6147dc88f670d28abd;hpb=2c7b88c4a55426087955a12aad33c1935e639876 diff --git a/udev/udevd.c b/udev/udevd.c index 13a10240d..d08cf30f2 100644 --- a/udev/udevd.c +++ b/udev/udevd.c @@ -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);