summaryrefslogtreecommitdiff
path: root/src/tools/irm/irm.c
diff options
context:
space:
mode:
authordimitri staessens <dimitri.staessens@intec.ugent.be>2016-12-28 00:36:36 +0100
committerdimitri staessens <dimitri.staessens@intec.ugent.be>2016-12-28 01:05:20 +0100
commit314c5323d3a038394f43e84d72594b78d17b1a46 (patch)
tree5c82135181d99879725f59cc4c263e9ec4e95049 /src/tools/irm/irm.c
parent6166259f74855fe9e6976175eeb7b16912bc477a (diff)
downloadouroboros-314c5323d3a038394f43e84d72594b78d17b1a46.tar.gz
ouroboros-314c5323d3a038394f43e84d72594b78d17b1a46.zip
include, lib: Report communication failure with the IRMd
An errno EIRMD has been added to errno.h to indicate failure to send a message tot the IRMd. The IRM tool will report such errors, which makes it easier for users to detect that the IRM was not started or has failed.
Diffstat (limited to 'src/tools/irm/irm.c')
-rw-r--r--src/tools/irm/irm.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/tools/irm/irm.c b/src/tools/irm/irm.c
index 7b2f3331..ce92d3d5 100644
--- a/src/tools/irm/irm.c
+++ b/src/tools/irm/irm.c
@@ -20,12 +20,15 @@
*/
#include <ouroboros/irm.h>
-#include <stdio.h>
-#include <string.h>
+#include <ouroboros/errno.h>
#include "irm_ops.h"
#include "irm_utils.h"
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
static void usage(void)
{
printf("Usage: irm [OPERATION]\n\n"
@@ -71,12 +74,23 @@ static int do_cmd(const char * argv0,
return -1;
}
-int main(int argc, char ** argv) {
+int main(int argc, char ** argv)
+{
+ int ret = 0;
if (argc < 2) {
usage();
return -1;
}
- return do_cmd(argv[1], argc - 1, argv + 1);
+ ret = do_cmd(argv[1], argc - 1, argv + 1);
+
+ if (ret == -EIRMD)
+ printf("Failed to communicate with the "
+ "Ouroboros IPC Resource Manager daemon.\n");
+
+ if (ret)
+ exit(EXIT_FAILURE);
+
+ exit(EXIT_SUCCESS);
}