diff options
| author | Artyom Poptsov <poptsov.artyom@gmail.com> | 2014-01-04 11:45:43 +0400 |
|---|---|---|
| committer | Artyom Poptsov <poptsov.artyom@gmail.com> | 2014-01-04 11:45:43 +0400 |
| commit | 0ca20a43bd426415d8b5af43b37801c8541c591a (patch) | |
| tree | 75687188196de2015b55bb28a79e7d1110f958c5 /examples | |
| parent | src/channel.scm: Update copyright notice. (diff) | |
| download | guile-ssh-0ca20a43bd426415d8b5af43b37801c8541c591a.tar.gz | |
src/channel-type.c (ptob_close): New procedure.
* src/channel-type.c (ptob_close): New procedure.
(print_channel): Don't try to get state of a channel if its port
is closed because it leads to segfaults. Closed port means closed
channel.
(init_channel_type): Register `ptob_close' with
`scm_set_port_close'.
* examples/echo/client.scm (main): Call `close' on a channel.
* examples/echo/server.scm (main): Likewise.
Diffstat (limited to 'examples')
| -rwxr-xr-x | examples/echo/client.scm | 5 | ||||
| -rwxr-xr-x | examples/echo/server.scm | 6 |
2 files changed, 6 insertions, 5 deletions
diff --git a/examples/echo/client.scm b/examples/echo/client.scm index 478aa67..ccbc9bb 100755 --- a/examples/echo/client.scm +++ b/examples/echo/client.scm @@ -139,6 +139,9 @@ (poll (channel-poll channel #f)) (begin (display (read-line channel)) - (newline))))))))) + (newline)))) + + (close channel) + (display channel)))))) ;;; echo.scm ends here. diff --git a/examples/echo/server.scm b/examples/echo/server.scm index 29b1376..b13675a 100755 --- a/examples/echo/server.scm +++ b/examples/echo/server.scm @@ -126,7 +126,8 @@ (let ((str (read-line channel))) (format #t "Received message: ~a~%" str) (display "Echoing back...\n") - (display str channel))))) + (display str channel)))) + (close channel)) ((request-channel) (handle-req-channel msg msg-type channel)) @@ -134,9 +135,6 @@ (else (display "Reply default\n") (message-reply-default msg))))) - ;; (if channel - ;; (let ((str (read-line channel))) - ;; (display str)))) (if (connected? session) (session-loop (server-message-get session)))) (disconnect! session) |
