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/gerrit-log@lists.osmocom.org/.
Max gerrit-no-reply at lists.osmocom.orgMax has uploaded this change for review. ( https://gerrit.osmocom.org/12836 Change subject: Stream client: update logging ...................................................................... Stream client: update logging Introduce logging macro wrapper to properly log current client state and function to aid in debugging. Change-Id: Ie22a80dcec95998cce0b25053fdf74f23eab6e53 --- M src/stream.c 1 file changed, 24 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/36/12836/1 diff --git a/src/stream.c b/src/stream.c index dbbaa9c..ca67aa0 100644 --- a/src/stream.c +++ b/src/stream.c @@ -49,6 +49,8 @@ #include <netinet/sctp.h> #endif +#define LOGSCLI(cli, level, fmt, args...) LOGP(DLINP, level, "[%s] %s(): " fmt, get_value_string(stream_cli_state_names, cli->state), __func__, ## args) + /*! \addtogroup stream Osmocom Stream Socket * @{ * @@ -131,6 +133,13 @@ STREAM_CLI_STATE_MAX }; +const struct value_string stream_cli_state_names[] = { + { STREAM_CLI_STATE_NONE, " NONE" }, + { STREAM_CLI_STATE_CONNECTING, "CONNECTING" }, + { STREAM_CLI_STATE_CONNECTED, " CONNECTED" }, + { 0, NULL } +}; + #define OSMO_STREAM_CLI_F_RECONF (1 << 0) #define OSMO_STREAM_CLI_F_NODELAY (1 << 1) @@ -160,12 +169,12 @@ void osmo_stream_cli_reconnect(struct osmo_stream_cli *cli) { if (cli->reconnect_timeout < 0) { - LOGP(DLINP, LOGL_DEBUG, "not reconnecting, disabled.\n"); + LOGSCLI(cli, LOGL_DEBUG, "not reconnecting, disabled.\n"); return; } - LOGP(DLINP, LOGL_DEBUG, "connection closed\n"); + LOGSCLI(cli, LOGL_DEBUG, "connection closed\n"); osmo_stream_cli_close(cli); - LOGP(DLINP, LOGL_DEBUG, "retrying in %d seconds...\n", + LOGSCLI(cli, LOGL_DEBUG, "retrying in %d seconds...\n", cli->reconnect_timeout); osmo_timer_schedule(&cli->timer, cli->reconnect_timeout, 0); cli->state = STREAM_CLI_STATE_CONNECTING; @@ -186,7 +195,7 @@ static void osmo_stream_cli_read(struct osmo_stream_cli *cli) { - LOGP(DLINP, LOGL_DEBUG, "message received\n"); + LOGSCLI(cli, LOGL_DEBUG, "message received\n"); if (cli->read_cb) cli->read_cb(cli); @@ -201,7 +210,7 @@ struct llist_head *lh; int ret; - LOGP(DLINP, LOGL_DEBUG, "sending data\n"); + LOGSCLI(cli, LOGL_DEBUG, "sending data\n"); if (llist_empty(&cli->tx_queue)) { cli->ofd.when &= ~BSC_FD_WRITE; @@ -212,7 +221,7 @@ msg = llist_entry(lh, struct msgb, list); if (cli->state == STREAM_CLI_STATE_CONNECTING) { - LOGP(DLINP, LOGL_ERROR, "not connected, dropping data!\n"); + LOGSCLI(cli, LOGL_ERROR, "not connected, dropping data!\n"); return 0; } @@ -235,7 +244,7 @@ if (errno == EPIPE || errno == ENOTCONN) { osmo_stream_cli_reconnect(cli); } - LOGP(DLINP, LOGL_ERROR, "error to send\n"); + LOGSCLI(cli, LOGL_ERROR, "error to send\n"); } msgb_free(msg); return 0; @@ -255,7 +264,7 @@ return 0; } ofd->when &= ~BSC_FD_WRITE; - LOGP(DLINP, LOGL_DEBUG, "connection done.\n"); + LOGSCLI(cli, LOGL_DEBUG, "connection done.\n"); cli->state = STREAM_CLI_STATE_CONNECTED; if (cli->proto == IPPROTO_SCTP) { #ifdef SO_NOSIGPIPE @@ -263,7 +272,7 @@ ret = setsockopt(ofd->fd, SOL_SOCKET, SO_NOSIGPIPE, (void*)&val, sizeof(val)); if (ret < 0) - LOGP(DLINP, LOGL_DEBUG, "Failed setting SO_NOSIGPIPE: %s\n", strerror(errno)); + LOGSCLI(cli, LOGL_DEBUG, "Failed setting SO_NOSIGPIPE: %s\n", strerror(errno)); #endif sctp_sock_activate_events(ofd->fd); } @@ -272,11 +281,11 @@ break; case STREAM_CLI_STATE_CONNECTED: if (what & BSC_FD_READ) { - LOGP(DLINP, LOGL_DEBUG, "connected read\n"); + LOGSCLI(cli, LOGL_DEBUG, "connected read\n"); osmo_stream_cli_read(cli); } if (what & BSC_FD_WRITE) { - LOGP(DLINP, LOGL_DEBUG, "connected write\n"); + LOGSCLI(cli, LOGL_DEBUG, "connected write\n"); osmo_stream_cli_write(cli); } break; @@ -503,7 +512,7 @@ { struct osmo_stream_cli *cli = data; - LOGP(DLINP, LOGL_DEBUG, "reconnecting.\n"); + LOGSCLI(cli, LOGL_DEBUG, "reconnecting.\n"); switch(cli->state) { case STREAM_CLI_STATE_CONNECTING: @@ -535,18 +544,17 @@ ret = recv(cli->ofd.fd, msg->data, msg->data_len, 0); if (ret < 0) { if (errno == EPIPE || errno == ECONNRESET) { - LOGP(DLINP, LOGL_ERROR, - "lost connection with srv\n"); + LOGSCLI(cli, LOGL_ERROR, "lost connection with srv\n"); } osmo_stream_cli_reconnect(cli); return ret; } else if (ret == 0) { - LOGP(DLINP, LOGL_ERROR, "connection closed with srv\n"); + LOGSCLI(cli, LOGL_ERROR, "connection closed with srv\n"); osmo_stream_cli_reconnect(cli); return ret; } msgb_put(msg, ret); - LOGP(DLINP, LOGL_DEBUG, "received %d bytes from srv\n", ret); + LOGSCLI(cli, LOGL_DEBUG, "received %d bytes from srv\n", ret); return ret; } -- To view, visit https://gerrit.osmocom.org/12836 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-netif Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: Ie22a80dcec95998cce0b25053fdf74f23eab6e53 Gerrit-Change-Number: 12836 Gerrit-PatchSet: 1 Gerrit-Owner: Max <msuraev at sysmocom.de> -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20190205/ae3f4c7b/attachment.htm>