I've spent the last 3 days porting my applicatoins from 299.406 to 352. I think i'm down to one issue:<br><br>When I start drscheme, I do the following:<br><br>> (time (thread (lambda () (display "hi"))))<br>
WARNING: The definitions window has changed. Click Run.<br>cpu time: 0hi real time: 1 gc time: 0<br>#<thread><br><br>which seems reasonable. However, after I run my application, threads start taking a longer time. like:
<br><br>(time (thread (lambda () (display "hi"))))<br>hicpu time: 2008 real time: 2008 gc time: 1988<br><br><br>It gets progressively worse as I use my application. Does anyone have any idea what could be causing this? I use thread on every mouse click to play a "feedback sound" 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> (system (string-append "/usr/bin/esdplay /usr/share/sounds" (symbol->string sound-file-name)))))<br><br>which i tried changed to:<br><br>(thread (lambda ()<br> (process (string-append "/usr/bin/esdplay /usr/share/sounds" (symbol->string sound-file-name))))))
<br><br>and tried changing to:<br><br>(thread (lambda ()<br> (let ((thing <br> (process (string-append "/usr/bin/esdplay /usr/share/sounds" (symbol->string sound-file-name)))))<br>
<br> [(fifth thing) `wait]<br> [(fifth thing) `kill]<br> (close-input-port (first thing))<br> (close-output-port (second thing))<br> (close-input-port (fourth thing))
<br> )<br> ))<br><br>I'm imagining that I'm accumulating something. At one point in time I got a "too many open files" 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? (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)))