/*
- * Copyright (C) 2004-2008 Kay Sievers <kay.sievers@vrfy.org>
+ * Copyright (C) 2004-2009 Kay Sievers <kay.sievers@vrfy.org>
*
* 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
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;
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) {
if (udev_monitor != NULL)
FD_SET(udev_monitor_get_fd(udev_monitor), &readfds);
- fdcount = select(UDEV_MAX(udev_monitor_get_fd(kernel_monitor), udev_monitor_get_fd(udev_monitor))+1,
+ fdcount = select(MAX(udev_monitor_get_fd(kernel_monitor), udev_monitor_get_fd(udev_monitor))+1,
&readfds, NULL, NULL, NULL);
if (fdcount < 0) {
if (errno != EINTR)