SMPP: Introduce ESME reference coounting
In case a ESME disappears after SUBMIT-SM but before the MT-SMS
is delivered (transaction mode), we have to make sure the esme
structure still exists.
diff --git a/openbsc/src/libmsc/smpp_smsc.h b/openbsc/src/libmsc/smpp_smsc.h
index 8cdd2e7..e93ae30 100644
--- a/openbsc/src/libmsc/smpp_smsc.h
+++ b/openbsc/src/libmsc/smpp_smsc.h
@@ -21,6 +21,8 @@
struct llist_head list;
struct smsc *smsc;
+ int use;
+
struct osmo_wqueue wqueue;
struct sockaddr_storage sa;
socklen_t sa_len;
@@ -46,6 +48,9 @@
int smpp_smsc_init(struct smsc *smsc, uint16_t port);
+void smpp_esme_get(struct osmo_esme *esme);
+void smpp_esme_put(struct osmo_esme *esme);
+
int smpp_tx_submit_r(struct osmo_esme *esme, uint32_t sequence_nr,
uint32_t command_status, char *msg_id);