I've spent the last 3 days porting my applicatoins from 299.406 to 352.&nbsp; I think i'm down to one issue:<br><br>When I start drscheme, I do the following:<br><br>&gt; (time (thread (lambda () (display &quot;hi&quot;))))<br>
WARNING: The definitions window has changed. Click Run.<br>cpu time: 0hi real time: 1 gc time: 0<br>#&lt;thread&gt;<br><br>which seems reasonable.&nbsp; However, after I run my application, threads start taking a longer time.&nbsp; like:
<br><br>(time (thread (lambda () (display &quot;hi&quot;))))<br>hicpu time: 2008 real time: 2008 gc time: 1988<br><br><br>It gets progressively worse as I use my application.&nbsp; Does anyone have any idea what could be causing this?&nbsp; I use thread on every mouse click to play a &quot;feedback sound&quot; through esd (a sound player that will play the sound without blocking all the sounds going on from other applications)
<br><br>(thread (lambda ()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (system (string-append &quot;/usr/bin/esdplay /usr/share/sounds&quot; (symbol-&gt;string sound-file-name)))))<br><br>which i tried changed to:<br><br>(thread (lambda ()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (process (string-append &quot;/usr/bin/esdplay /usr/share/sounds&quot; (symbol-&gt;string sound-file-name))))))
<br><br>and tried changing to:<br><br>(thread (lambda ()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (let ((thing <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (process (string-append &quot;/usr/bin/esdplay /usr/share/sounds&quot; (symbol-&gt;string sound-file-name)))))<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(fifth thing) `wait]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [(fifth thing) `kill]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (close-input-port (first thing))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (close-output-port (second thing))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (close-input-port (fourth thing))
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ))<br><br>I'm imagining that I'm accumulating something. At one point in time I got a &quot;too many open files&quot; error. (which is why i started manually closing the ports).<br><br>
Does anyone have any idea what I could be accumulating from one run to the next?&nbsp; (i don't name the created thread, so i don't believe i have any references to it)<br><br>Corey<br><br clear="all"><br>-- <br>((lambda (y) (y y)) (lambda (y) (y y)))