From 2ac78497ddb0320f8b6c3f38f1acd0a0b70dcf00 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Wed, 19 Oct 2016 10:47:41 +0200 Subject: e1_recorder: propagate errors to main, where we exit() in case of failing to open file --- src/e1_recorder.c | 7 ++++++- src/storage.c | 4 +++- 2 files changed, 9 insertions(+), 2 deletions(-) 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 @@ void e1ts_raw_recv(struct e1inp_ts *ts, struct msgb *msg) { 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 @@ int e1frame_store(struct e1inp_ts *ts, struct msgb *msg, enum osmo_e1cap_capture 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) -- cgit v1.2.3