X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=udev%2Fudevadm-monitor.c;h=00b130dafea6a823183e4da61e1fe50fe3189721;hb=1e6cff0b3b5c1d1ceffd5ddc3124f3bb8e2e78da;hp=df1459ae17d5f8bb7b4379fd123efd4330c0fd5c;hpb=257bb4cdac76c00be6e17b0b656df0a2d7ee7b4d;p=elogind.git diff --git a/udev/udevadm-monitor.c b/udev/udevadm-monitor.c index df1459ae1..00b130daf 100644 --- a/udev/udevadm-monitor.c +++ b/udev/udevadm-monitor.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2004-2008 Kay Sievers + * Copyright (C) 2004-2009 Kay Sievers * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -67,6 +67,7 @@ static void print_device(struct udev_device *device, const char *source, int pro int udevadm_monitor(struct udev *udev, int argc, char *argv[]) { struct sigaction act; + sigset_t mask; int option; int prop = 0; int print_kernel = 0; @@ -142,6 +143,10 @@ int udevadm_monitor(struct udev *udev, int argc, char *argv[]) act.sa_flags = SA_RESTART; sigaction(SIGINT, &act, NULL); sigaction(SIGTERM, &act, NULL); + sigemptyset(&mask); + sigaddset(&mask, SIGINT); + sigaddset(&mask, SIGTERM); + sigprocmask(SIG_UNBLOCK, &mask, NULL); printf("monitor will print the received events for:\n"); if (print_udev) {