summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/irm/irm.c22
-rw-r--r--src/tools/irm/irm_bind_ap.c4
2 files changed, 20 insertions, 6 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);
}
diff --git a/src/tools/irm/irm_bind_ap.c b/src/tools/irm/irm_bind_ap.c
index e8e5eb26..a5be5a03 100644
--- a/src/tools/irm/irm_bind_ap.c
+++ b/src/tools/irm/irm_bind_ap.c
@@ -90,13 +90,13 @@ int do_bind_ap(int argc, char ** argv)
ret = irm_bind_ap(ap_name, name, flags, argc, argv);
if (ret == -ENOENT) {
printf("%s does not exist.\n", ap_name);
- return -1;
+ return ret;
}
if (ret == -EPERM) {
printf("Cannot execute %s, please check permissions.\n",
ap_name);
- return -1;
+ return ret;
}
if (temp != NULL)