chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix exit code of udevinitsend and udevmonitor
[elogind.git]
/
udevmonitor.c
diff --git
a/udevmonitor.c
b/udevmonitor.c
index 2775b295ceac9bc18e709d77e6660dce23655612..9fe6da906f986ab81895efb67e332d7087a62a16 100644
(file)
--- 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);
if (retval < 0) {
fprintf(stderr, "bind failed, %s\n", strerror(errno));
close(udev_monitor_sock);
+ udev_monitor_sock = -1;
return -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");
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;
}
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");
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);
if (udev_monitor_sock > 0)
close(udev_monitor_sock);
- return retval;
+ if (retval)
+ return 3;
+ return 0;
}
}