Update
[sdlgit/SDL-Site.git] / pages / blog-0023.html-inc
index 3ac3dc1..07f9357 100644 (file)
@@ -1,6 +1,6 @@
 <div class="blog">
 <h1 id="NAME">
-SDL perl is coming to Strawberry!!
+Catching memory leaks in XS
 </h1>
 <div class="CONTENT">
-<div style="text-align: right;"><i>I am a part of all that I have met. --</i>Alfred Tennyson <br /></div><div style="text-align: right;">&nbsp; </div>I hope I am not jumping the gun but it looks good.&nbsp; This is all thanks to kmx!!<br /><br />Here is an obligatory pic since my last post on this matter. (That is one of the test script you can run for test/ in the distrobution).<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="http://2.bp.blogspot.com/_NnqjAQEn1Xo/SpWUmSBlt-I/AAAAAAAAAAc/hPZjdppeyu0/s1600-h/ok.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/_NnqjAQEn1Xo/SpWUmSBlt-I/AAAAAAAAAAc/hPZjdppeyu0/s320/ok.bmp" /></a></div><br /><br />You can follow the history <a href="https://rt.cpan.org/Ticket/Display.html?id=49003">here</a>.<br /><br />It has been tested on winXP 32/64 bit strawberry so far. Here is how you can get it.<br /><br /><ol><li>Go here to get the <a href="http://github.com/kthakore/SDL_perl/">code</a>&nbsp;</li><li>Click download, choose .tar.gz</li><li>Save the resultant kthakore....tar.gz somewhere</li><li>Get <a href="http://cloud.github.com/downloads/kthakore/SDL_perl/libsdl-1.2.13-bin_20090825.ZIP">this</a> and  extract it on C:/strawberry/ </li><li><b>Last do pip kthakore......tar.gz </b>(I find this so amazing!!)<b></b></li><li><b>Play with C:/strawberry/cpan/build/SDL/test/*.pl&nbsp;</b></li><ul><li><b>or post a <a href="https://rt.cpan.org/Ticket/Display.html?id=49003">bug report</a>&nbsp; <br /></b></li></ul></ol><blockquote>Enjoy</blockquote>--yapgh<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-8353082216465109784?l=yapgh.blogspot.com'/></div></div></div>
\ No newline at end of file
+<div style="text-align: right;"><i>&nbsp;I slay dragons, yonder</i></div><br />So I am trying to find and plug memory leaks in SDL perl. Most of the <a href="https://rt.cpan.org/Ticket/Display.html?id=49084">memory leaks</a> occur because in XS a reference is still held. One very expensive mem leak was caught by TELS really early on <a href="https://rt.cpan.org/Ticket/Display.html?id=17976">here</a>. The problem occurs where in XS there is<br /><br /><blockquote><i>RETVAL</i><i> = (cast *) safemalloc( ... );</i></blockquote>&nbsp;and safefree(...) is never called.<br />Here is a in <a href="http://github.com/kthakore/SDL_perl/blob/63ebaa682697728f5946f700a2b2c12534b1b821/src/SDL.xs">code example</a> lines 1082 on. <br /><br />My question is how I can mitigate these memory leaks? One idea I had was to store all malloc'd pointers to an array that is safefree'd on DESTROY or hooked into perl GC somehow .<br /><br /><br />Any guidance is helpful.<br /><br /><i>--yapgh</i><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-7742659740534179607?l=yapgh.blogspot.com' alt='' /></div></div></div>
\ No newline at end of file