<!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>