<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2963" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009>hi,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009>i found some leaking
on the subscriber ressource usage. this patch is not final. maybe we find better
solutions.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009>1. trans_alloc() may
not allocate subscriber for transaction, because may be already done before, so
i removed subscr_get() from transaction.c</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009>-> on outgoing
calls we allocate subscriber ressource (by searching for it) and use it for
transaction.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009>-> in incomming
calls we use the subscriber pointer from the lchan.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009></SPAN></FONT><FONT
face=Arial size=2><SPAN class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009>2. on an
incomming call/sms, the lchan holds a subscriber ressource, so i added
subscr_get() after successfully calling trans_alloc()</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009>3. when
_send_sms_buffer() is called, we already</SPAN></FONT><FONT face=Arial
size=2><SPAN class=093561812-23082009> hold a subscriber ressource for the
receiver, so the subsequently called function sms_from_text() must not allocate
the receiver again. if this function fails, the allocated subcriber ressource
must be released in _send_sms_buffer().</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009>4. on trans_free we
don't need to remove pending paging processes, because it is done when paging
expires. anyway if we want to keep it in trans_free(), we must remove
paging_remove_request() from paging_T3113_expired(), because it will then
be done when transaction is removed. also we need to add
paging_remove_request() when sms is removed due to paging
expiery.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN class=093561812-23082009>i also fixed linux
call router for compiling with openbsc without any patch at all. by linking the
source directory to the lcr source directory, the "configure" script
automatically detects it and it will compile. (latest git)</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009>regards,</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009>andreas</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN
class=093561812-23082009></SPAN></FONT> </DIV></BODY></HTML>