e1_recorder: propagate errors to main, where we exit() in case of failing to open file
diff --git a/src/e1_recorder.c b/src/e1_recorder.c
index b0ae044..11ec93e 100644
--- a/src/e1_recorder.c
+++ b/src/e1_recorder.c
@@ -32,10 +32,15 @@
{
struct e1_recorder_line *rline = &g_recorder.line[ts->line->num];
enum osmo_e1cap_capture_mode cap_mode = ts2cap_mode(ts);
+ int rc;
/* FIXME: special processing of TFP and PGSL */
- e1frame_store(ts, msg, cap_mode);
+ rc = e1frame_store(ts, msg, cap_mode);
+ if (rc < 0) {
+ LOGP(DMAIN, LOGL_FATAL, "Error writing E1/T1 frame to disk\n");
+ exit(1);
+ }
if (rline->mirror.enabled) {
struct e1inp_line *other_line =
diff --git a/src/storage.c b/src/storage.c
index d18f8cd..0a926e4 100644
--- a/src/storage.c
+++ b/src/storage.c
@@ -83,7 +83,9 @@
h->capture_mode = mode;
h->flags = 0;
- storage_reopen_if_needed();
+ rc = storage_reopen_if_needed();
+ if (rc < 0)
+ return rc;
rc = writev(g_out_fd, iov, ARRAY_SIZE(iov));
if (rc < 0)