aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/libmsc/smpp_smsc.c
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/src/libmsc/smpp_smsc.c')
-rw-r--r--openbsc/src/libmsc/smpp_smsc.c18
1 files changed, 4 insertions, 14 deletions
diff --git a/openbsc/src/libmsc/smpp_smsc.c b/openbsc/src/libmsc/smpp_smsc.c
index 1dc37fdd8..64ed2005f 100644
--- a/openbsc/src/libmsc/smpp_smsc.c
+++ b/openbsc/src/libmsc/smpp_smsc.c
@@ -267,18 +267,6 @@ void smpp_esme_put(struct osmo_esme *esme)
esme_destroy(esme);
}
-static struct osmo_esme *
-esme_by_system_id(const struct smsc *smsc, char *system_id)
-{
- struct osmo_esme *e;
-
- llist_for_each_entry(e, &smsc->esme_list, list) {
- if (!strcmp(e->system_id, system_id))
- return e;
- }
- return NULL;
-}
-
/*! \brief try to find a SMPP route (ESME) for given destination */
struct osmo_esme *
smpp_route(const struct smsc *smsc, const struct osmo_smpp_addr *dest)
@@ -845,7 +833,7 @@ dead_socket:
}
/* call-back of write queue once it wishes to write a message to the socket */
-static void esme_link_write_cb(struct osmo_fd *ofd, struct msgb *msg)
+static int esme_link_write_cb(struct osmo_fd *ofd, struct msgb *msg)
{
struct osmo_esme *esme = ofd->data;
int rc;
@@ -858,8 +846,10 @@ static void esme_link_write_cb(struct osmo_fd *ofd, struct msgb *msg)
smpp_esme_put(esme);
} else if (rc < msgb_length(msg)) {
LOGP(DSMPP, LOGL_ERROR, "[%s] Short write\n", esme->system_id);
- return;
+ return -1;
}
+
+ return 0;
}
/* callback for already-accepted new TCP socket */