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/.
Holger Hans Peter Freyther holger at freyther.deOn Wed, Aug 22, 2012 at 05:04:48PM +0200, pablo at gnumonks.org wrote: > From: Pablo Neira Ayuso <pablo at gnumonks.org> > > In case of problems to transmit message, spot an error and > close the socket to force a re-establishment. > > This also modifies ipa_client_read to close the socket in > case that our callback reports an error. this somehow doesn't read right. Sorry to be picky here. :} > + LOGP(DLINP, LOGL_ERROR, "connection closed with " > + "server\n"); I try to have full sentences in the log message. This means it starts with a capital letter and ends with a full stop. > int ret = 0; int ret = 1 ; > > switch (msg_type) { > case IPAC_MSGT_PING: > - ipa_ccm = 1; > ret = ipaccess_send_pong(bfd->fd); > + if (ret < 0) { > + LOGP(DLINP, LOGL_ERROR, "cannot send PING " > + "message. Reason: %s\n", strerror(errno)); } > break; > case IPAC_MSGT_PONG: > DEBUGP(DLMI, "PONG!\n"); > break; > case IPAC_MSGT_ID_ACK: > DEBUGP(DLMI, "ID_ACK? -> ACK!\n"); > - ipa_ccm = 1; > ret = ipaccess_send_id_ack(bfd->fd); > + if (ret < 0) { > + LOGP(DLINP, LOGL_ERROR, "cannot send ID_ACK " > + "message. Reason: %s\n", strerror(errno)); } > break; default: ret = 0; break; > } > - return ipa_ccm; > + return ret; > } does this read any better? > static int ipaccess_drop(struct osmo_fd *bfd) > @@ -269,8 +280,15 @@ static int ipaccess_rcvmsg(struct e1inp_line *line, struct msgb *msg, > int len, ret; > > /* Handle IPA PING, PONG and ID_ACK messages. */ > - if (ipaccess_rcvmsg_base(msg, bfd)) > + ret = ipaccess_rcvmsg_base(msg, bfd); > + switch(ret) { > + case -1: > + /* error in IPA control message handling */ > + goto err; > + case 1: > + /* this is an IPA control message, skip further processing */ > return 0; default: WARN_ON(ret); ? > + } > > switch (msg_type) { > case IPAC_MSGT_ID_RESP: > @@ -517,6 +535,16 @@ static int __handle_ts1_write(struct osmo_fd *bfd, struct e1inp_line *line) > DEBUGP(DLMI, "TX %u: %s\n", ts_nr, osmo_hexdump(msg->l2h, msgb_l2len(msg))); > > ret = send(bfd->fd, msg->data, msg->len, 0); > + if (ret < 0) { if (ret != msg->len)