Updated the site
[sdlgit/SDL-Site.git] / pages / blog-0024.html-inc
index 07f9357..64faf76 100644 (file)
@@ -1,6 +1,23 @@
 <div class="blog">
 <h1 id="NAME">
-Catching memory leaks in XS
+Threaded XS callback finally gets solved.
 </h1>
 <div class="CONTENT">
-<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
+<div style="text-align: right;"><i><br />
+Dragged down from the lofty isles,<br />
+into the guts and gore of the monster,<br />
+a welcoming cringe in the gut approaches. <br />
+</i><br />
+</div><br />
+<br />
+So I was planning staying silent until an exam I had was done. But new developers on IRC (j_king, felix and ruoso) pull me back in. Which is a good thing ... I suppose ... because we finally have threaded callbacks for timer and audiospec to work. ruoso++ for this major contribution. If you remember this was the <a href="http://stackoverflow.com/questions/1791114/creating-threaded-callbacks-in-xs">problem</a> we were having. <br />
+<br />
+The new callbacks capability in audiospec allow you to procedurally generate sound now. If you would like a simple example take a look at <a href="http://github.com/kthakore/SDL_perl/blob/redesign/t/core_audiospec.t"> t/core_audiospec.t</a>. However a more fun example may be ruoso++'s <a href="http://github.com/ruoso/tecla">tecla</a> (a game for toddlers).  Myself and Garu think it is a work of art but that is only because we are toddlers. <br />
+<br />
+On a side note some tickets on RT have also received some love ( after 3 or 4 years ... but nonetheless). TonyC++ sorry for the long time in response. <br />
+<br />
+More information on the <a href="http://github.com/kthakore/SDL_perl/blob/redesign/CHANGELOG">CHANGELOG</a>. <br />
+<br />
+Also a shout out to FROGGS for his new SON!!!.  Congrats buddy!<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3102167581424744259-6642671796628033537?l=yapgh.blogspot.com' alt='' /></div>
+<p><a href="http://feedads.g.doubleclick.net/~a/tCttmYltlTls5VMK61L-TEYAkA4/0/da"><img src="http://feedads.g.doubleclick.net/~a/tCttmYltlTls5VMK61L-TEYAkA4/0/di" border="0" ismap="true"></img></a><br/>
+<a href="http://feedads.g.doubleclick.net/~a/tCttmYltlTls5VMK61L-TEYAkA4/1/da"><img src="http://feedads.g.doubleclick.net/~a/tCttmYltlTls5VMK61L-TEYAkA4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/YetAnotherPerlGameHackeryapgh/~4/AQmkpsuSquI" height="1" width="1"/></div></div>
\ No newline at end of file