aboutsummaryrefslogtreecommitdiffstats
path: root/src/chan_alloc.c
AgeCommit message (Collapse)AuthorFilesLines
2009-06-10move openbsc into its own subdirectoryHarald Welte1-256/+0
2009-06-06lchan: Handle the abnormal case of channel getting closedHolger Freyther1-1/+3
The abnormal case is that lchan_free ist getting called due a RSL_MT_CHAN_REL_ACK in the RSL but the refcount of this channel is not zero. This means that some "logical operation" is still going on that needs to be cancelled. Instead of always queuing up all operations in the struct gsm_lchan use the signal framework to inform higher layers about this abnormal case. In gsm_04_08.c a signal handler is installed and in the abnormal case the location updating request operation is freed.
2009-05-23* rename the timer functions to avoid name collisions with libmisdn.Harald Welte1-3/+3
* the return value of bsc_update_timers() is required for applications to find out if a timer was fired (Andreas Eversberg)
2009-02-06[rr] Send a Channel Release before deactivating the channelHolger Freyther1-1/+6
After auto releasing a channel the next paging request will not be immediately answered. The hypothesis was that we do not release the channel properly. Implementing Channel Release of GSM 04.08 should have fixed it, but it didn't. According to the wireshark dissectors the message is correct though. - Add the RR cause values to gsm_04_08. - Implement the Channel Release message - Invoke the release channel function before deallocating the lchan.
2009-02-01typoHarald Welte1-1/+1
2009-01-09Reset the use_count to zero in chan_freeHarald Welte1-0/+5
It is possible that the BTS is closing the channel even when our upper layers are doing work. Reset the use_count add a fixme to call cancellations for pending operations. Cancellation of the call state (state machines in general) and such come into mind...
2009-01-04Add implementation to find a lchan by the struct gsm_subscriberHolger Freyther1-0/+16
Really compare pointers to check if the one gsm_subscriber is equal to the other... gsm_subscriber should be unique for a given IMSI so comparing the pointers should be fine.
2009-01-01Change the subscriber and database backendHolger Freyther1-1/+4
gsm_subscriber is now refcounted, the db backend is leaking a lot less, db_get_subscriber will allocate the subscr record now, subscr_* will look up a subscriber in the list of currently active subscribers and add an ref to this one. The db test cases pass, more testing will be when next to the bts
2009-01-01Do not call rsl_chan_release directly but use the use_count of the lchanHolger Freyther1-13/+15
Call use_lchan early in allocate_loc_updating_req, do not directly call rsl_chan_release but go through channel alloc to take the use_count into account.
2009-01-01get rid of gcc warnings about function prototypeHarald Welte1-2/+5
2008-12-31We have freed the channel there is no subscriber associated anymoreHolger Freyther1-0/+1
FIXME: Introduce refcounting on the subscriber record. This looks like a genuine memory leak to me.
2008-12-30Recylce a gsm_lchan when the refcount drops to zeroHolger Freyther1-1/+41
When a channel is allocated, start a timeout, when a lchan_use is used the timer will be restarted, when the timeout fires we will try to recycle or restart the timer.
2008-12-27* add database handlingHarald Welte1-1/+19
* fix IMSI handling
2008-12-27now we get up to the SETUP of MO callsHarald Welte1-0/+11
2008-12-25no reasonable commit message possible. tons of changes of the last 2 daysHarald Welte1-0/+150