diff --git a/monitor/control.c b/monitor/control.c
index 9e30d38..879e195 100644
--- a/monitor/control.c
+++ b/monitor/control.c
server_fd = fd;
}
-void control_writer(const char *path)
+bool control_writer(const char *path)
{
btsnoop_file = btsnoop_create(path, BTSNOOP_TYPE_MONITOR);
+
+ return !!btsnoop_file;
}
void control_reader(const char *path)
diff --git a/monitor/control.h b/monitor/control.h
index 8de4c6c..28f16db 100644
--- a/monitor/control.h
+++ b/monitor/control.h
#include <stdint.h>
-void control_writer(const char *path);
+bool control_writer(const char *path);
void control_reader(const char *path);
void control_server(const char *path);
int control_tracing(void);
diff --git a/monitor/main.c b/monitor/main.c
index d4e8e6d..f0922eb 100644
--- a/monitor/main.c
+++ b/monitor/main.c
return EXIT_SUCCESS;
}
- if (writer_path)
- control_writer(writer_path);
+ if (writer_path && !control_writer(writer_path)) {
+ printf("Failed to open '%s'\n", writer_path);
+ return EXIT_FAILURE;
+ }
if (ellisys_server)
ellisys_enable(ellisys_server, ellisys_port);