aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/src/transaction.c
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2010-06-30 12:40:10 +0800
committerHolger Hans Peter Freyther <zecke@selfish.org>2010-06-30 12:59:20 +0800
commite071ab70e97831a7efdb7351497f6da2f95efc94 (patch)
tree72bb24d476bec981fe9ed8a91e4b798885c169c1 /openbsc/src/transaction.c
parentd06516557a8982c645b4d0f5a76dd806f1ddd76d (diff)
handover: Attempt to use the same gsm_subscriber_conn for new/old channel
The transaction should not know on which lchan we are operating as this can change due handover. Add untested code to share the subscriber connection of the new and old lchan and move the pointer in case of success/failure. Also on a clear command we will free any resources allocated... This code is not tested and needs to be debugged, but it should have the right structure. I am going to fix a potential memleak in the next commit.
Diffstat (limited to 'openbsc/src/transaction.c')
-rw-r--r--openbsc/src/transaction.c26
1 files changed, 0 insertions, 26 deletions
diff --git a/openbsc/src/transaction.c b/openbsc/src/transaction.c
index ffabdd316..a29c07d7a 100644
--- a/openbsc/src/transaction.c
+++ b/openbsc/src/transaction.c
@@ -147,29 +147,3 @@ int trans_assign_trans_id(struct gsm_subscriber *subscr,
return -1;
}
-/* update all transactions to use a different LCHAN, e.g.
- * after handover has succeeded */
-int trans_lchan_change(struct gsm_subscriber_connection *conn_old,
- struct gsm_subscriber_connection *conn_new)
-{
- struct gsm_network *net = conn_old->bts->network;
- struct gsm_trans *trans;
- int num = 0;
-
- if (conn_old == conn_new) {
- LOGP(DCC, LOGL_ERROR, "Exchanging transaction with itself.\n");
- return;
- }
-
- llist_for_each_entry(trans, &net->trans_list, entry) {
- if (trans->conn == conn_old) {
- msc_release_connection(conn_old);
-
- /* assign new channel */
- trans->conn = conn_new;
- num++;
- }
- }
-
- return num;
-}