gmstap_util: Fix sending out gsmtap messages
Previously undetected, because the vty command 'gsmtap log ...' never used write queue mode
Change-Id: I88ba8984518d2d0327cfacd0d2cdf33c7e1d091b
diff --git a/src/core/gsmtap_util.c b/src/core/gsmtap_util.c
index d817885..b64c7b0 100644
--- a/src/core/gsmtap_util.c
+++ b/src/core/gsmtap_util.c
@@ -491,16 +491,21 @@
if (ofd_wq_mode) {
gti->out = osmo_iofd_setup(gti, gti->wq.bfd.fd, "gsmtap_inst.io_fd", OSMO_IO_FD_MODE_READ_WRITE, &gsmtap_ops, NULL);
- if (gti->out == NULL) {
- talloc_free(gti);
- close(fd);
- return NULL;
- }
+ if (gti->out == NULL)
+ goto err_cleanup;
+ if (osmo_iofd_register(gti->out, gti->wq.bfd.fd) < 0)
+ goto err_cleanup;
+
/* osmo write queue previously used was set up with value of 64 */
osmo_iofd_set_txqueue_max_length(gti->out, 64);
}
return gti;
+
+err_cleanup:
+ talloc_free(gti);
+ close(fd);
+ return NULL;
}
/*! Open GSMTAP source socket, connect and register osmo_fd