This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Pablo Neira Ayuso pablo at gnumonks.orgOn Fri, Aug 24, 2012 at 08:45:26AM +0200, Holger Hans Peter Freyther wrote: > On Fri, Aug 24, 2012 at 12:44:53AM +0200, pablo at gnumonks.org wrote: > > From: Pablo Neira Ayuso <pablo at gnumonks.org> > > > @@ -592,15 +634,25 @@ static int ipaccess_bsc_oml_cb(struct ipa_server_link *link, int fd) > > ret = osmo_fd_register(bfd); > > if (ret < 0) { > > LOGP(DLINP, LOGL_ERROR, "could not register FD\n"); > > - close(bfd->fd); > > - e1inp_line_put(line); > > - return ret; > > + goto err_line; > > > > > - return ret; > > +err_socket: > > + osmo_fd_unregister(bfd); > > + close(bfd->fd); > > + bfd->fd = -1; > > +err_line: > > + e1inp_line_put(line); > > + return ret; > > } > > in this case the socket was closed and remains open now? It needs to jump under the > osmo_fd_unregister line. > > > > /* initialize the fds */ > > for (i = 0; i < ARRAY_SIZE(line->ts); ++i) > > @@ -636,14 +688,24 @@ static int ipaccess_bsc_rsl_cb(struct ipa_server_link *link, int fd) > > ret = osmo_fd_register(bfd); > > if (ret < 0) { > > LOGP(DLINP, LOGL_ERROR, "could not register FD\n"); > > - close(bfd->fd); > > - e1inp_line_put(line); > > - return ret; > > + goto err_line; > > same as above. Yes, this has to be: err_socket: osmo_fd_unregister(bfd); err_line: close(bfd->fd); bfd->fd = -1; e1inp_line_put(line); return ret; Thanks Holger. New patch attached.