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