<div>Hi All,<br clear="all"></div><div><br></div><div>I'm using Net::Server::Prefork togethere with perl ESL to listen for outbound socket connections from Freeswitch in sync mode.</div><div>Due to use of Prefork, one script instance processes many requests (max_requests). </div>
<div>I'm doing database request, finding user to dial and bridge. </div><div>I noticed that if channel hungs up by initiator, memory consumed by my script is never returned to OS, but if bridge finished by remote side (or freeswitch), memory returns to OS and everything works ok.</div>
<div><br></div><div>I thought there are some circular references in my script or something like that, but that would affect both cases. In my case when call is finished by freeswitch by reaching end of script and then end of dialplan, everything works fine, but if call is finished by originating channel, memory leak occurs.</div>
<div><br></div><div>How can I trace these leaks in my script or ESL library? What should I start from? </div><br>-- <br>Best regards,<br><br>Dmitry Sytchev,<br>IT Engineer<br>