When I try to use <a href="http://docs.racket-lang.org/web-server-internal/web-server.html?q=do-not-return#(def._((lib._web-server/web-server..rkt)._do-not-return))">do-not-return</a> I get this error: <font face="courier new, monospace">bonsai.rkt:22:3: do-not-return: unbound identifier in module</font><div>
<br></div><div>Then I tried <a href="http://docs.racket-lang.org/reference/Byte_and_String_Input.html?q=read-line&amp;q=do-not-return#(def._((quote._~23~25kernel)._read-line))">read-line</a>, which worked, but it blocks the console output so I&#39;ll only see the things that my script is sending to the console after I hit Enter and finish the program. Is there a asynchronous way of doing this?<br>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 12, 2012 at 1:55 AM, Greg Hendershott <span dir="ltr">&lt;<a href="mailto:greghendershott@gmail.com" target="_blank">greghendershott@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">If I understand correctly you simply need your main Racket thread to<br>

wait, for example, after your main thread calls your `start-server&#39;:<br>
<br>
  (start-server)<br>
  (displayln &quot;Server started. Press ENTER to quit.&quot;)<br>
  (read-line)<br>
  ;; End of your main RKT file<br>
<div class=""><div class="h5"><br>
<br>
On Sun, Nov 11, 2012 at 8:39 PM, Nathan Campos &lt;<a href="mailto:nathanpc@dreamintech.net">nathanpc@dreamintech.net</a>&gt; wrote:<br>
&gt; I&#39;m having some fun with tcp-listen with Racket, here&#39;s the simple start<br>
&gt; server function that I&#39;m using:<br>
&gt;<br>
&gt; #lang racket<br>
&gt;<br>
&gt; (define start-server<br>
&gt; (lambda ([port 8080])<br>
&gt;   (current-custodian server-custodian)<br>
&gt; ; Caps at 50 connections at the same time<br>
&gt; (define listener (tcp-listen port 50 #t))<br>
&gt; (define (loop)<br>
&gt;   (accept-and-handle listener)<br>
&gt;   (loop))<br>
&gt; (define t (thread loop))<br>
&gt; (lambda ()<br>
&gt;   (kill-thread t)<br>
&gt;   (tcp-close listener))<br>
&gt;   (fprintf (current-output-port) &quot;Server started listening at ~a&quot; port)))<br>
&gt;<br>
&gt; It was running great on DrRacket, but when I tried to run it under racket<br>
&gt; (the command-line executable) it shows the sever started message and quits,<br>
&gt; so the server doesn&#39;t keep running. Is there anyway to make racket wait<br>
&gt; until it&#39;s process gets killed or the user types something?<br>
&gt;<br>
&gt; Best Regards,<br>
&gt; Nathan Campos<br>
&gt;<br>
</div></div><div class=""><div class="h5">&gt; ____________________<br>
&gt;   Racket Users list:<br>
&gt;   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
&gt;<br>
</div></div></blockquote></div><br></div></div>