summaryrefslogtreecommitdiff
path: root/udevmonitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'udevmonitor.c')
-rw-r--r--udevmonitor.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/udevmonitor.c b/udevmonitor.c
index 2775b295ce..9fe6da906f 100644
--- a/udevmonitor.c
+++ b/udevmonitor.c
@@ -63,6 +63,7 @@ static int init_udev_monitor_socket(void)
if (retval < 0) {
fprintf(stderr, "bind failed, %s\n", strerror(errno));
close(udev_monitor_sock);
+ udev_monitor_sock = -1;
return -1;
}
@@ -125,13 +126,15 @@ int main(int argc, char *argv[])
if (getuid() != 0) {
fprintf(stderr, "need to be root, exit\n\n");
- exit(1);
+ exit(2);
}
retval = init_udev_monitor_socket();
if (retval)
goto out;
- init_uevent_netlink_sock();
+ retval = init_uevent_netlink_sock();
+ if (retval)
+ goto out;
printf("udevmonitor prints the received event from the kernel [UEVENT]\n"
"and the event which udev sends out after rule processing [UDEV]\n\n");
@@ -204,5 +207,7 @@ out:
if (udev_monitor_sock > 0)
close(udev_monitor_sock);
- return retval;
+ if (retval)
+ return 3;
+ return 0;
}