dns.server: do work in separate thread

db4
Eduardo Cavazos 2008-06-14 15:48:07 -05:00
parent 1883929dee
commit b8f1d71d2e
1 changed files with 11 additions and 8 deletions

View File

@ -1,8 +1,8 @@
USING: kernel combinators sequences sets math
USING: kernel combinators sequences sets math threads
io.sockets unicode.case accessors
combinators.cleave combinators.lib
newfx
newfx fry
dns dns.util dns.misc ;
IN: dns.server
@ -204,15 +204,18 @@ DEFER: query->rrs
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
: loop ( -- )
socket receive
swap
: (handle-request) ( byte-array addr-spec -- )
>r
parse-message
find-answer
message->ba
swap
socket send
loop ;
r>
socket send ;
: handle-request ( byte-array addr-spec -- )
'[ , , (handle-request) ] in-thread ;
: loop ( -- ) socket receive handle-request loop ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!