[racket] Prevent racket From Closing

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Mon Nov 12 08:55:17 EST 2012

If you searched for it, like I suggested, you'd see that you have to
(require web-server/web-server) to get it:

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))

On Mon, Nov 12, 2012 at 6:42 AM, Nathan Campos <nathanpc at dreamintech.net> wrote:
> When I try to use do-not-return I get this error: bonsai.rkt:22:3:
> do-not-return: unbound identifier in module
>
> Then I tried read-line, which worked, but it blocks the console output so
> I'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?
>
>
>
> On Mon, Nov 12, 2012 at 1:55 AM, Greg Hendershott
> <greghendershott at gmail.com> wrote:
>>
>> 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
>> >
>
>
>
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>



-- 
Jay McCarthy <jay at cs.byu.edu>
Assistant Professor / Brigham Young University
http://faculty.cs.byu.edu/~jay

"The glory of God is Intelligence" - D&C 93

Posted on the users mailing list.