diff options
author | Darren Bane <dbane@tilde.institute> | 2020-12-11 14:14:33 +0000 |
---|---|---|
committer | Darren Bane <dbane@tilde.institute> | 2020-12-11 14:14:33 +0000 |
commit | 207cda23007f05dd954ee82511babba457465265 (patch) | |
tree | 44c143f1554b83d31eaac374a738b7fbaaba459d /echo.lsp | |
parent | 76105d297c5b56cf097bcf129e6de56d681744cc (diff) | |
parent | f16f553f2effb7ac8120fb8a15b59bcdd480a97d (diff) | |
download | lsp-207cda23007f05dd954ee82511babba457465265.tar.gz |
Merge branch 'master' of /home/dbane/public_repos/lsp into master
Diffstat (limited to 'echo.lsp')
-rwxr-xr-x | echo.lsp | 30 |
1 files changed, 11 insertions, 19 deletions
diff --git a/echo.lsp b/echo.lsp index 1fb1c89..b299eab 100755 --- a/echo.lsp +++ b/echo.lsp @@ -42,24 +42,16 @@ (defun echo-server () ;; Server side (server addr : 127.0.0.1) (with-server-socket (server 8192 "tcp") - (let ((fds (create-vector 16 ())) - (fdr (create-vector 16 ())) - (fdw (create-vector 16 ()))) - (select-clear fds) - (select-add server fds) - (while (eq (select 1 fds fdr fdw () 5.0) 0) - (print "Waiting ....")) - (let ((client (accept server))) - ;; Talk with client using standard I/O. - (with-standard-input client - (with-standard-output client - (while t - (let* ((line1 (read-line)) - (tag-len (length +content-length+)) - (content-length (convert (subseq line1 (- tag-len 1) (length line1)) <integer>))) - (read-line) - (marshal (json-parse (read-chars content-length))))))) - (close client)) - (select-remove server fds)))) + (let ((client (accept server))) + ;; Talk with client using standard I/O. + (with-standard-input client + (with-standard-output client + (while t + (let* ((line1 (read-line)) + (tag-len (length +content-length+)) + (content-length (convert (subseq line1 (- tag-len 1) (length line1)) <integer>))) + (read-line) + (marshal (json-parse (read-chars content-length))))))) + (close client)))) (provide "echo") (echo-server) |