X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=src%2Fgacela_server.scm;fp=src%2Fgacela_server.scm;h=aae6c042f2264ff268090c05d87bb7d74eff50fe;hb=586ba6fbd6643e4c08748f94528eccbad9108040;hp=1d926fd5fe531be4cd9139fc6bcdaf46fb873d25;hpb=578705caa7496850be14c68180430ded8759e8e4;p=gacela.git diff --git a/src/gacela_server.scm b/src/gacela_server.scm index 1d926fd..aae6c04 100644 --- a/src/gacela_server.scm +++ b/src/gacela_server.scm @@ -21,13 +21,17 @@ (define eval-from-clients #f) (define stop-server #f) -(let ((server-socket #f) (clients '())) +(let ((server-socket #f) (clients '()) + (server-pipes #f)) (set! start-server - (lambda (port) - (set! server-socket (socket PF_INET SOCK_STREAM 0)) - (setsockopt server-socket SOL_SOCKET SO_REUSEADDR 1) - (bind server-socket AF_INET INADDR_ANY port) - (listen server-socket 5) + (lambda* (#:key (port #f) (pipes #f)) + (cond (port + (set! server-socket (socket PF_INET SOCK_STREAM 0)) + (setsockopt server-socket SOL_SOCKET SO_REUSEADDR 1) + (bind server-socket AF_INET INADDR_ANY port) + (listen server-socket 5)) + (pipes + (set! server-pipes pipes))) (cond ((not (game-running?)) (game-loop)))))